我正在创建一个将IL字节代码转换为另一种语言的程序。但我还是停留在第一部分:获取IL字节代码。
我希望用户能够直接从C#中的程序输入.NET应用程序,并获得其IL字节代码。
我尝试过使用ICSharpCode.Decompiler
,但是我找不到反编译为IL字节代码而不是C#代码的方法。
例如,我的代码当前将文件反编译为C#代码:
using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.CSharp;
Console.Write("Input file: ");
var path = Console.ReadLine()?.Replace(""", string.Empty);
var decompiler = new CSharpDecompiler(path, new DecompilerSettings());
var code = decompiler.DecompileWholeModuleAsString();
File.WriteAllText("code.txt", code);
但是,正如前面所说,这段代码反编译为C#代码。然而,我希望它反编译为IL字节代码。有办法做到这一点吗?
我认为这个项目实际上显示了IL代码,它是用C#编写的。
https://github.com/icsharpcode/ILSpy