Как использовать.NET Core 2.0 ilasm.exe?

Я пытаюсь https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm/ (после где находится ilasm.exe в Microsoft.NETCore.ILAsm?) На ПК с Win 10 Pro x64, Ничего не произошло.

Какой бы синтаксис я ни использовал, все равно ничего. Например, нет.dll генерируется из моего ввода и ничего не печатается в консоли.

Даже если я просто запускаю "ilasm" (без параметров), вывод не производится. Он остается совершенно тихим. В то же время, если я запускаю более старый C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe, он всегда выдает какой-либо вывод (например, ссылку на использование параметров).

Как я должен использовать этот последний ilasm.exe для.NET Core 2.0? У него разные аргументы командной строки? Или, может быть, мне нужны дополнительные файлы, чтобы он работал (хотя в пакете не было ничего значимого, кроме самого ilasm.exe)?

1 ответ

Решение

.NET Core варианты ILAsm и ILDasm зависят от основных ресурсов сборки той же версии 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 установлена ​​в расположении по умолчанию.

Другие вопросы по тегам