-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Make ILAsm and ILDasm packages standalone. Clean up Microsoft.NET.Sdk.IL #25930
Make ILAsm and ILDasm packages standalone. Clean up Microsoft.NET.Sdk.IL #25930
Conversation
…ing. Don't pull down CoreCLR or ClrJit since ILAsm and ILDasm don't need them. Don't copy ILAsm or ILDasm to the output directory of the project when using the tools from packages.
I see that they refer the packages from NuGet. For an SDK, the tools shouldn't be self contained (to allow better portability, not depending on NuGet)? |
Since the tools themselves are portable now, why not put them inside the SDK package, preferably a |
The tools are still architecture-specific native tools, so can't just package on one platform build. I don't think the MSBuild support for SDK resolution via NuGet supports runtime.json-based architecture specific packages, so we likely need to keep using the NuGet packages. Since the |
I see. Since, it's a private package, this does not matter. But you can also just do this:
Then again, the downside is, the native assets for every |
Anyway, since we have the compiler written in .NET, It would be nice to have IL tools and decompiler written in .NET too! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Have we validated S.R.CS.Unsafe.ilproj builds correctly with this?
I did a local build with a test project and it restored the package correctly. |
I noticed this fix has started showing up in 5.0 alpha builds on |
This is not expected to ship in 3.1. I don’t think the underlying change that enabled this is in 3.1. |
….IL (dotnet/coreclr#25930) * Remove reference to CoreCLR package from ILAsm and ILDasm packages. * Directly reference ILAsm and ILDasm in their packages instead of copying. Don't pull down CoreCLR or ClrJit since ILAsm and ILDasm don't need them. Don't copy ILAsm or ILDasm to the output directory of the project when using the tools from packages. Commit migrated from dotnet/coreclr@4e960d7
Now that ILAsm and ILDasm are standalone as of #25144, this PR updates the Microsoft.NETCore.ILAsm and Microsoft.NETCore.ILDasm packages to not depend on the CoreCLR package.
Additionally, this PR also cleans up the Microsoft.NET.Sdk.IL sdk since standalone ILAsm and ILDasm allows a lot of the MSBuild logic to be removed.