本文共 1231 字,大约阅读时间需要 4 分钟。
什么是.NET 框架?.NET 框架都包含了哪些内容?大家应该都见过 CIL、BCL、FCL、CTS、CLS、CLR、CLI等术语,可是这些都是什么意思呢?
.NET框架对编程所提供的支持,可以分为三个部分:
CIL(公共中间语言):如同它的名字一样,它只是一种语言。是经过编译之后形成的一种介于高级语言和机器语言之间的一种语言,只要是在.NET平台下运行的高级语言经过编译之后所生成的程序集都是由CIL语言描述的,它经过二次编译才能在机器上运行。 BCL(基类库):mscorlib.dll程序集所包含的类库,提供了一些基本类型来支持开发者编写程序。 FCL(框架类库):主要分为三层:①BCL的大部分,主要是对.NET框架、.NET运行时的支持 ②包含了对操作系统的封装,例如文件系统、网络连接、XML操作等 ③包含各种类型的应用程序,例如windows forms、ASP.NET、WPF、WCF、WF等。 CTS(公共类型系统):对CIL的定义、规则或标准,这套规则定义了语言可以做什么,不可以做什么,有哪些特性,这套规则就叫作CTS,任何满足这套规则的高级语言就可以称为面向.NET的语言。CTS规定了可以在语言中定义的类型、规范了类型可以包含字段属性等、还规定了各种访问修饰符以及一些约束(比如:c#只能继承一个类)。但是符合CTS规范的语言不一定要实现它定义的全部功能,c#就只是实现了CTS的部分功能。 CLS(公共语言规范):定义了一些常见的、大多数语言都共有的语言特性,以使得各个语言的程序集可以相互引用,比如 c# 引用 VB.NET 的程序集,这个规范就叫作CLS。CLS是CTS的一个子集,而显然FCL框架类库都符合CLS,有极个别不符合,这样所有面向.NET的语言都可以使用框架类库。