我很难用Visual命令提示符来组装一个dll,不要像我看到的在microsoft页面中那样简单。
我在用这种方法:
ildasm myLibrary.dll output:MyLibrary.il我得到:无法打开输出的“MyLibrary.il”。
我也尝试了一条完整的道路:
ildasm directory\myLibrary.dll output:directory\MyLibrary.il我得到:多个输入文件指定的
使用ildasm实际上是有效的,但是当我使用ilasm时:
ilasm myLibrary.il /dllI get:无法打开'myLibrary.il',当我使用完整路径时,会得到相同的错误。
这里怎么了?
发布于 2018-08-26 05:21:28
简单地说,让我们使用这一行代码:
using System;
public class sample
{
static void Main(string[] args)
{
Console.WriteLine("Inside main ...");
}
}让我们将App.cs编译成App.exe。此可执行文件现在打印在主…中。当我们运行的时候。
现在允许我们尝试更改此可执行文件的输出,而不触及其源文件.。
您可以运行ildasm App.exe /out:App.il 来生成与可执行对应的IL代码。现在,您可以在记事本中编辑这段il代码,并将ldstr从“in main…”中更改。到“内部主更改的…”如下所示:
IL_0000: nop
IL_0001: ldstr "Inside main ..."
IL_0006: call void [mscorlib]System.Console::WriteLine(string)
IL_000b: nop
IL_000c: ret至
IL_0000: nop
IL_0001: ldstr "Inside main changed ..."
IL_0006: call void [mscorlib]System.Console::WriteLine(string)
IL_000b: nop
IL_000c: ret现在,让我们从这个il文件中通过运行ilasm App.il.重新构建可执行文件,这将生成一个新的App.exe。如果您运行App.exe,您将得到以下输出“main changed…”
在social.msdn和C-锐角中都有有用的文章,通过使用ILDASM和ILASM来指导。
发布于 2022-11-17 03:38:03
ildasm myLibrary.dll -output=MyLibrary.il
不要在LINUX或OSX上使用选项键"/“。
'/‘是系统路径分隔符。
https://stackoverflow.com/questions/52023353
复制相似问题