17得票3回答
为什么这个非常简单的C#方法会产生如此不合逻辑的CIL代码?

最近我在深入研究IL,发现C#编译器有一些奇怪的行为。以下方法是一个非常简单且可验证的应用程序,它将立即以退出代码1退出:static int Main(string[] args) { return 1; } 当我使用Visual Studio Community 2015编译此代码...

17得票3回答
我是否正确理解了这段MSIL代码?

我有以下C#代码// test.Program private static void Main() { int x = 5; int y = 100; Console.WriteLine(y + ", " + x); } 我正在阅读IL代码,以前从未编写过汇编语言,因...

16得票3回答
.net-core: ILDASM / ILASM的等效工具

是否有类似 ILDASM/ILASM 的工具适用于 .net-core? 具体来说,我正在寻找能够在 Linux 上运行的工具(这也是为什么要使用 .net-core 的原因)。

11得票2回答
无论.NET版本/环境如何,找到ildasm.exe和ilasm.exe文件路径的保证方法是什么?

有没有方法通过编程获取ildasm.exe/ilasm.exe可执行文件的FileInfo/Path?我试图在对其进行一些修改后适当地反编译和重新编译dll/exe文件(我猜PostSharp在编译后做类似的IL更改)。 我找到了一个指向以下内容的博客文章:var pfDir = Envir...

9得票2回答
ILDASM和ILASM,如何使用它们?

我在尝试使用Visual Studio命令提示符对一个dll进行(反)汇编时遇到了困难,这看起来并不像我在微软页面中所看到的那么简单。 我是按照以下方式使用ildasm的: ildasm myLibrary.dll output:MyLibrary.il 我得到的错误信息是:无法打开'...

9得票2回答
使用VS 2010 Ilasm.exe强命名第三方2.0 .dll

所以,我有一个用C# 2.0编写的第三方.dll文件,需要进行强类型化,但我没有源代码。我找到了几篇文章,介绍如何对.dll进行反汇编,并使用强名称密钥文件重新组装它。 问题是,VS2010将其重新编译为.NET 4.0 .dll,而不是2.0 .dll(我们应用程序当前所在的版本)。我无法...

8得票1回答
ILASM无法设置文件版本号

我有一个.il文件可以编译,没有任何问题。我可以对其进行强命名而不会遇到任何问题。但是,我无法像预期的那样通过属性设置文件版本。当使用ilasm时,如何为程序集设置文件版本? 如果我执行往返操作,我始终会得到一个.res文件,其中仅包含无法读取的二进制数据。这个res文件里面有什么,我能编辑...

7得票2回答
有没有在Visual Studio项目中编译CIL代码的示例?

我知道有人问过Visual Studio是否支持CIL/MSIL项目,答案是不支持。但是MSBuildContrib项目提供了一个ILASM任务,可以在构建时编译IL文件。 我在谷歌上搜寻了一下,没有找到如何使用此任务的示例。 有没有使用ILASM作为Visual Studio解决方案的一...