.NET Framework 体系结构
图
1-1
.NET Framework 平台体系结构
C# 程序在 .NET Framework 上运行,它是 Windows 的一个必要组件,包括一个称为
公共语言运行时
(CLR) 的虚拟执行系统和一组统一的类库。CLR 是 Microsoft 的公共语言
基础结构
(CLI) 的一个商业实现。CLI 是一种国际标准,是用于创建语言和库在其中无缝协
同工作的执行和开发环境的基础。
用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (IL)。IL 代码与资源(如位
图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为
.
exe 或 .dll。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。
执行 C# 程序时,程序集将加载到 CLR 中,这可能会根据清单中的信息执行不同的操
作。然后,如果符合安全要求,
CLR 执行实时 (JIT) 编译以将 IL 代码转换为本机机器指令 。
CLR 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 CLR 执行的代码有
时称为
“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。