CTS、CLS、CLR

CTS:通用类型系统(Common Type System)的类型标准。

  任何以 .NET 平台作为目标的语言必须建立它的数据类型与 CTS 的类型间的映射。所有 .NET 语言共享这一类型系统,实现他们之间的无缝的互操作。

CLS:公共语言规范(Common Language Specification)

  CLS 制定了一种以 .NET 平台为目标的语言所必须支持的最小特征,以及该语言与其他 .NET 语言之间实现互操作性所需要的完备特征。

  CLS 是 CTS 的一个子集。这就意味着一种语言特征可能符合 CTS 标准,但又超出 CLS 的范畴。

CLR:公共语言运行库(Common Language Runtime)

  CLR 是 .NET Framework 的基础,可以将其看作一个在执行时管理代码的代理,它提供了内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。

  CLR 还通过实现称为通用类型系统(CTS)的严格类型验证和代码验证基础结构来加强代码可靠性。

  简单地说,CLR是CTS的实现,也就是说,CLR 是应用程序的执行引擎和功能齐全的类库,该类库严格按照 CTS 规范实现。作为程序执行引擎,CLR负责安全地载入和运行用户程序代码,包括对不用对象的垃圾回收和安全检查。在CLR监控之下运行的代码,称为托管代码(managed code)。

原文地址:https://www.cnblogs.com/wangye520/p/14544181.html