.NET框架

.NET 框架

什么是.NET 框架?.NET 框架都包含了哪些内容?大家应该都见过 CIL、BCL、FCL、CTS、CLS、CLR、CLI等术语,可是这些都是什么意思呢?

.NET框架对编程所提供的支持,可以分为三个部分:

  • 开发阶段,.NET提供了一个庞大的类库,支持开发者快速开发各种应用程序,也支持设计者自行开发语言编译器。
  • 程序执行阶段,.NET提供了一个程序运行时的环境,这个运行环境帮助我们管理内存、实时编译程序、进行安全检查、执行垃圾回收等。
  • 编译完成后,符合.NET规范的语言也叫面向.NET的语言,用这些语言编译完成后生成的文件和内容,都可以在.NET运行环境下执行,这就是.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的语言都可以使用框架类库。

这里写图片描述

  CLR(公共语言运行时):CIL的代码不能被直接运行,还需要CLR的支持。概括来说,CLR是一个软件层或代理,管理了程序集的执行,主要包括:管理应用程序域、加载和运行程序集、安全检查、将CIL代码编译成机器语言、异常处理、对象析构和垃圾回收等。这样保证了.NET程序集可以运行在任何系统上,只要这个系统装有.NET框架就可以。
  CLI(公共语言基础):是一个国际标准,只是一个概念和总和,CLI包括:CIL、CTS、CLS、VES、基础框架等。而.NET框架就是这个标准的具体实现,从而.NET框架才包含了上述内容。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值