Cli support for generating solution for multiple projects #2364
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Link to issue(s) this covers
#2363
#1550
Problem
Commandline interface does not expose a feature to compile multiple assemblies into a solution
Prefix
This PR should be considered as a possible basic solution that I need feedback on to properly fix/implement :)
Solution
I added support to use multiple dll files as
InputAssemblyNamearg (used like thisilspycmd "lib1.dll lib2.dll" <other arguments>)And provided with a output solution path as
--slnit would callWriteSolutionFileas implemented in #2363But generally speaking I'm not sure if this is the correct approach to decompile multiple assemblies/projects. For example when decompiling both UnityEditor.dll and UnityEngine.dll to the same output path both projects would contain the same files (as everything is in one directory)
So the problem for that is is that the output path for an assembly must be empty/multiple projects must be output to separate output directories, maybe implicitly generated in the output directory from the dll names?
Alternative ideas
Another idea would be to provide an --sln argument to multiple generated
.csprojfiles which then would invoke theWriteSolutionFilecall. But this would require to collect the necessary meta information from previous compiled/the csproj(?)which currently is
string projectFile, string projectPlatform, Guid projectGuid, Guid typeGuid.Would be interested to hear what you think/prefer and/or if there are better solutions already or in process?! :)