Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it possible to decompile a list of assemblies to a solution #972

Closed
erik-kallen opened this issue Nov 7, 2017 · 5 comments
Closed
Labels
Decompiler The decompiler engine itself Help Wanted New Feature

Comments

@erik-kallen
Copy link

Thanks for a fantastic tool!

It would be even greater if it were possible to decompile a set of assemblies to a solution file with all references to the included projects replaced with real <ProjectReference> elements in the .csproj.

I might have the time to do this myself, but in that case I would appreciate some hints about where to start.

@dgrunwald
Copy link
Member

The class WholeProjectDecompiler is currently doing the project decompilation.

Decompiling a whole solution would require specifying a list of input modules, and modifying the WholeProjectDecompiler to emit project references.

But I'm not sure how the UI would look like. Offer .sln instead of (in addition to?) .csproj when multiple assemblies are selected? Or a whole new main menu command?
The "Save to disk" logic when multiple nodes are selected is currently unsuitable for such a task...

@siegfriedpammer
Copy link
Member

It would probably be a good idea to integrate this feature into the Console (ICSharpCode.Decompiler.Console).

@erik-kallen
Copy link
Author

Having the feature as a command-line tool would be good enough for me

@guibirow
Copy link

guibirow commented Oct 6, 2018

Other day I had to decompile a list of packages dependent on each other, around 10 csproj, and I had a bit of work to do one by and reference each other to build a solution.

A feature like this would be awesome,

I see two possible approaches:

1 - Do the process in two stages, First select multiple packages in the list and 'Save' would request a folder to save and create a project to each one using the same dll name without changing much the existing funcitonality, would be just loop passing each package to a save command, then an improvement later could create the link to the references(if any) to build the solution

2 - Select one package and click 'Generate' will prompt to select a list of referenced packages, this will build the chain of dependencies. Maybe a treeview to show the nested dependecies as well.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Decompiler The decompiler engine itself Help Wanted New Feature
Projects
None yet
Development

No branches or pull requests

4 participants