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

时间:2012-12-21 06:48:14

标签: c# .net vb.net compilation exe

将.NET源代码(c#或vb)编译为.exe文件时会发生什么?我希望了解在制作exe文件时发生的过程,并查看了有关逆向工程和反编译的几个问题(例如,How do I decompile a .NET EXE into readable C# source code?What happens when user click .NET assembly (EXE)?

提前致谢

2 个答案:

答案 0 :(得分:6)

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

  1. 选择编译器

      

    要获得公共语言运行库提供的好处,您必须使用一个或多个语言编译器   瞄准运行时。

  2. 将代码编译为MSIL

      

    编译翻译   您的源代码转换为Microsoft中间语言(MSIL)和   生成所需的元数据。

  3. 将MSIL编译为本机代码

      

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

  4. 运行代码

      

    公共语言运行库提供了支持执行的基础结构   发生在执行期间可以使用的服务。

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

答案 1 :(得分:1)

您可以查看我认为有用的以下链接,
1- Image Describing CLR.
2- Wikipedia Description of .NET Framework
3- .Net Framework Architecture