查看编译VS 2010 C#net生成的汇编代码? 我在这里找到了一个详细说明如何查看VS C++的汇编代码的方法,但是我似乎找不到一种方法来查看C.NET代码的程序集
这可能吗?它看起来不像C++版本那么简单。查看编译VS 2010 C#net生成的汇编代码? 我在这里找到了一个详细说明如何查看VS C++的汇编代码的方法,但是我似乎找不到一种方法来查看C.NET代码的程序集,c#,.net,C#,.net,这可能吗?它看起来不像C++版本那么简单。 提前感谢您您可以看到通过使用反汇编程序(如Reflector或ILDasm)编译.NET代码库生成的IL的反汇编版本 它们向您展示了代码编译成的中间语言 .NET程序集(与程序集代码不同)稍后会被JIT为本机代码,不过您也可以使用来生成本机代码。您可以获取C#编译器或任何.NET EXE/DLL的结果,并在Reflector(商业)或ILDasm(免费)中打开它-这些将显示IL代码 另一个选项是在VS中调试结果-调试器也可以显示IL代码 一些链接:
提前感谢您您可以看到通过使用反汇编程序(如Reflector或ILDasm)编译.NET代码库生成的IL的反汇编版本 它们向您展示了代码编译成的中间语言
.NET程序集(与程序集代码不同)稍后会被JIT为本机代码,不过您也可以使用来生成本机代码。您可以获取C#编译器或任何.NET EXE/DLL的结果,并在Reflector(商业)或ILDasm(免费)中打开它-这些将显示IL代码 另一个选项是在VS中调试结果-调试器也可以显示IL代码 一些链接:
如果您真的想要汇编代码(类似C++结果),那么可以与任何反汇编程序一起使用.< /P> < P> .NET语言不通过编译直接生成ASM,它们生成CIL,CIL通过JIT编译将.NET运行时解释成汇编指令。详情请参阅
可以从C#中生成本机二进制文件,用于生成特定于机器的二进制文件,这通常用于提高应用程序的启动时间,但您最好看看IL。Reflector很不错,但被RedGate接管,不再免费。
但是Telerik有一个很棒的免费工具叫做JustDecompile() 它甚至将为程序集创建一个VisualStudio解决方案
我们还在这里讨论。如果您想查看本机代码,我相信您可以在Visual Studio调试器中显示它。C#不生成汇编代码,而是所谓的IL代码-您是在问如何查看IL代码,还是真的需要汇编(只有在JIT后才可用)?啊,我想这一定是我遇到的问题。默认情况下,IL代码是获得C#的输出,还是必须设置某些设置?然后我必须使用Microsoft Disembler将其视为程序集?IL是.NET编译器输出的。@user997112您可以获取C#编译器(EXE或DLL…)的结果,并在Reflector或ILDasm中打开它-这些将显示IL代码。。。另一个选项是在VS中调试结果-调试器也可以显示IL代码…@Oded,我的意思是我必须为VS2010设置各种设置才能将IL实际输出为文件,以便我可以使用另一个程序将IL视为程序集?嘿,Oded,所以我需要下载Reflector。我是否需要更改visual studio中的任何配置以生成进入Reflector所需的输出?您可以使用ILDASM-如果安装了visual studio或Windows SDK,它将位于您的计算机上。另外还有许多针对.NET的拆解,免费或其他(Reflector是付费的)。