2017-08-22 2 views
0

J'essaie https://www.nuget.org/packages/runtime.win-x64.Microsoft.NETCore.ILAsm/ (sur Where is ilasm.exe in Microsoft.NETCore.ILAsm?) sur un PC Win 10 Pro x64. Rien ne se passe.Comment utiliser .NET Core 2.0 ilasm.exe?

Quelle que soit la syntaxe que j'utilise, toujours rien. Par exemple. pas .dll est généré à partir de mon entrée et rien n'est imprimé dans la console.

Même si je lance simplement "ilasm" (aucun paramètre), aucune sortie n'est produite. Il reste complètement silencieux. En même temps, si je cours plus vieux C: \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ilasm.exe, il produit toujours une certaine sortie (par exemple, référence d'utilisation de paramètre).

Comment suis-je supposé utiliser ce dernier ilasm.exe pour .NET Core 2.0? A-t-il des arguments de ligne de commande différents? Ou, peut-être, j'ai besoin de quelques fichiers supplémentaires pour que cela fonctionne (bien que le paquet n'ait rien de significatif mais ilasm.exe lui-même)?

Répondre

1

Les variantes .NET Core de ILAsm et ILDasm dépendent des ressources de base de la version de la même version de CoreCLR pour laquelle elles sont construites. Si elles sont restaurées via un graphe de dépendances, un déploiement de noyau .net autonome en fonction de Microsoft.NETCore.ILAsm doit contenir tous les actifs de l'environnement d'exécution cible. Pour que la version extraite de ilasm.exe/ildasm.exe fonctionne sans cela, vous devez copier le coreclr.dll de la version .net correspondante dans le même répertoire. Ce fichier peut être trouvé dans C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.0.0 si un runtime .NET Core 2.0.0 est installé dans son emplacement par défaut.