2

我正在尝试https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm/(根据Win 10 Pro x64 PC 上Where is ilasm.exe in Microsoft.NETCore.ILAsm? ) . 什么都没发生。

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

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

我应该如何将这个最新的 ilasm.exe 用于 .NET Core 2.0?它有不同的命令行参数吗?或者,也许,我需要一些额外的文件才能让它工作(尽管这个包除了 ilasm.exe 本身没有任何意义)?

4

1 回答 1

2

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

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

于 2017-08-22T15:18:31.897 回答