如何使用.NET Core 2.0 ilasm.exe?

时间:2017-08-22 14:16:52

标签: .net-core ilasm

我在Win 10 Pro x64 PC上尝试https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm/(在Where is ilasm.exe in Microsoft.NETCore.ILAsm?上)。没有任何事情发生。

无论我使用什么语法,仍然没有。例如。没有.dll是从我的输入生成的,控制台中没有打印任何内容。

即使我只运行“ilasm”(无参数),也不会产生输出。它仍然完全沉默。同时,如果我运行较旧的C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ilasm.exe,它总会产生一些输出(例如,参数用法参考)。

我应该如何使用最新的ilasm.exe for .NET Core 2.0?它有不同的命令行参数吗?或者,也许,我需要一些额外的文件才能工作(虽然包没有任何意义,但ilasm.exe本身)?

1 个答案:

答案 0 :(得分:2)

ILAsm和ILDasm的.NET Core变体依赖于构建它们所构建的相同CoreCLR版本的核心资产。如果通过依赖关系图恢复它们,则取决于Microsoft.NETCore.ILAsm的自包含.net核心部署应包含目标运行时的所有资产。

要使ilasm.exe / ildasm.exe的解压缩版本无法正常工作,您需要将匹配的.net核心版本中的coreclr.dll复制到同一目录中。如果在其默认位置安装了.NET Core 2.0.0运行时,则可以在C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.0中找到此文件。