就我的理解,
-
任何使用c#或f#或VB编写的代码。
是由各自的编译器在Visual studio中编译成 因此,安装在客户端机器上的。net framework运行时(CLR)将使用此
IL
代码转换为机器码并运行程序。
IL
代码。问题是,这个EXE包含什么?
在。net世界中,这些基本的部署单元称为程序集,在应用程序的情况下具有.exe扩展名,或者在这种情况下具有.dll扩展名
简而言之,程序集包含四种类型的东西:
- 一个程序集清单,它向.NET运行时提供信息,例如程序集的名称、版本、请求的权限,以及它引用的其他程序集。
- 一个应用程序清单,它向操作系统提供信息,例如程序集应该如何运行
- 编译类型:编译的IL代码和在程序集中定义的类型的元数据。
- 和资源:程序集中嵌入的其他数据,如图像和可本地化的文本。
以上四项中,只有程序集清单是必需的。