当我将源代码编译到.net框架中的exe文件时会发生什么

irr*_*ror 4 .net c# vb.net exe compilation

将.NET源代码(c#或vb)编译为.exe文件时会发生什么?我希望了解在制作exe文件时发生的过程,并查看了有关逆向工程和反编译的几个问题(例如,如何将.NET EXE反编译为可读的C#源代码?以及当用户单击.NET程序集时会发生什么(EXE)?)

提前致谢

MUG*_*G4N 6

托管执行过程包括以下步骤

  1. 选择编译器

    要获得公共语言运行库提供的好处,必须使用一个或多个以运行时为目标的语言编译器.

  2. 将代码编译为MSIL

    编译将源代码转换为Microsoft中间语言(MSIL)并生成所需的元数据.

  3. 将MSIL编译为本机代码

    在执行时,即时(JIT)编译器将MSIL转换为本机代码.在此编译期间,代码必须通过验证过程,该过程检查MSIL和元数据以确定代码是否可以确定为类型安全.

  4. 运行代码

    公共语言运行库提供了允许执行的基础结构和可在执行期间使用的服务.

在这里查看详细信息:http://msdn.microsoft.com/en-us/library/k5532s8a.aspx