据我了解,
任何使用 C# 或 F# 或 VB.Net 编写的代码都由各自的编译器在 Visual Studio 中编译为
IL
代码。因此,安装在客户端机器上的 .NET 框架运行时 (CLR) 将使用此
IL
代码转换为机器代码并运行程序。
问题是,这个 EXE 包含什么? IL 和一些 header ?
最佳答案
在 .NET 世界中,这些基本部署单元称为 Assemblies ,在应用程序的情况下具有 .exe 扩展名,在这种情况下具有 .dll 扩展名 图书馆。
简而言之,一个程序集包含四种类型的东西:
- An assembly manifest 向 .NET 运行时提供信息,例如程序集的名称、版本、 请求的权限,以及它引用的其他程序集。
- An application manifest 向操作系统提供信息,例如程序集应该如何 部署以及是否需要提升管理权限。
- Compiled types :已编译的 IL 代码和程序集中定义的类型的元数据。
- 和 Resources :程序集中嵌入的其他数据,例如图像和可本地化的文本。
以上四个中,只有程序集 list 是必需的。
关于c# - 使用 C# 编译的可执行文件有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196176/