使用C#编译的可执行文件有什么功能?

使用C#编译的可执行文件有什么功能?,c#,visual-studio,clr,managed,C#,Visual Studio,Clr,Managed,据我了解, 任何使用C#或F#或VB.Net编写的代码都由各自的编译器在Visual studio中编译为ILcode 因此,安装在客户机上的.NET framework运行时(CLR)将使用此IL代码转换为机器代码并运行程序 问题是,这个EXE包含什么?IL和一些头?在.NET世界中,这些基本部署单元被调用,应用程序的扩展名为.exe,应用程序的扩展名为.dll 图书馆的图书馆 简而言之,程序集包含四种类型的内容: 它向.NET运行时提供信息,例如程序集的名称、版本、, 请求的权限及其引用的其

据我了解,

  • 任何使用C#或F#或VB.Net编写的代码都由各自的编译器在Visual studio中编译为
    IL
    code

  • 因此,安装在客户机上的.NET framework运行时(CLR)将使用此
    IL
    代码转换为机器代码并运行程序


  • 问题是,这个EXE包含什么?IL和一些头?

    在.NET世界中,这些基本部署单元被调用,应用程序的扩展名为.exe,应用程序的扩展名为.dll 图书馆的图书馆

    简而言之,程序集包含四种类型的内容:

  • 它向.NET运行时提供信息,例如程序集的名称、版本、, 请求的权限及其引用的其他程序集
  • 它向操作系统提供信息,例如程序集应如何运行 是否部署,以及是否需要管理提升
  • :程序集中定义的类型的编译IL代码和元数据
  • :嵌入程序集中的其他数据,如图像和可本地化文本

  • 在上述四项中,只有程序集清单是必需的。

    是。。。详情-。。。通过使用ILDasm,您可以大致了解信息。@AlexeiLevenkov所说的内容,以及其中的一些汇编代码“加载CLR”,请查看以下内容: