CIL(common intermediate language):公共中间语言。.net框架下各种种类、版本的编程语言在经过编译后生成的中间语言(后缀为.il),与平台无关、与语言无关,只要机器上运行了.net框架都可以运行.il文件。

  BCL(basic class library):基类库。包含基础的类型(比如Console、string),为IL提供基础的编程支持,所有面向CIL的语言都可以使用这个类库。

  FCL(framework class library):框架类库。BCL是FCL的一个子集,【应该】包含了所有的.net类。

  CTS(common type system):公共类型系统。当自己要设计一种面向.net的高级语言时,都要遵循的规范就是CTS,比如C#。任何面向.net的语言都要满足CTS的要求,但不必实现CTS中所有的标准与规定,但语言本身不能有违背CTS的地方。这样的语言编译后生成CIL。

  CLS(common language specification):公共语言规范。一种面向.net的语言在引用另一种面向.net的语言的公开程序集的时候(即修饰符为public,若为private、protected等,则一定不能被其他语言引用),这两种语言需要满足一定的规范,即CLS。CLS是CTS的一个子集。绝大部分的FCL都满足CLS,只有极个别特殊的不满足,这就使得面向.net的程序语言都可以使用FCL中的类型。

  CLR(common language runtime):公共语言运行时。当执行.exe和程序集的时候,负责运行程序、程序集的就是CLR。在程序集中包含的CIL还不是机器能够执行的指令,CLR管理了.net程序集的执行,包括:加载和运行程序集、安全检查、将CIL代码即时编译为机器代码等。runtime虽然有时间,但是CLR和时间并没有关系。相对于编译时,CLR发生在程序的运行过程中。具体可举例子理解:在程序执行时,CLR会找到并加载main(),然后执行下面的程序。这样做,有了CLR,可以使.net程序集跨平台使用,和Java虚拟机相似。

  CLI(common language infrastructure):公共语言基础。一个国际标准。.net框架只是CLI的一个具体实现,所以,还有其他的实现。

参考资料:.NET体系结构图(Kimma)

      .NET框架-CLR和Framework(张子阳)

.net framework体系结构的更多相关文章

  1. Spring Framework体系结构简介

    说明:以下转自Spring官方文档,用的版本为4.3.11版本. 一.引用官方文档 2.2.1核心集装箱 所述核心容器由以下部分组成spring-core, spring-beans,spring-c ...

  2. Spring FrameWork体系结构及模块间依赖关系

    详见:https://www.cnblogs.com/ywlaker/p/6136625.html 几个图: (Spring3) (Spring4) 由于Spring体系结构庞大且复杂,为了简化开发者 ...

  3. spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  4. [转] spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  5. spring framework体系结构及模块jar依赖关系

    本文对于Spring的JAR包使用和配置,结合网友材料以spring 4.3.6.RELEASE版本为例,介绍spring框架结构和各模块对应JAR包以及模块间JAR依赖关系. 注:不同版本JAR包依 ...

  6. .NET和JAVA的比较- 体系结构

    .NET体系结构   对于.NET Framework体系结构,参考了"你必须知道的.NET"并”借用“别人的经典体系结构图从宏观上说明一下我的理解. 图1 简单的说下几个名词: ...

  7. APS.NET MVC + EF (02)---ADO.NET Entity FrameWork

    2.1 Entity Framework简介 Ado.net Entity Framework 是Microsoft推出的ORM框架. 2.1.1 什么是ORM 对象关系映射(Object Relat ...

  8. C#源码500份

    C Sharp  短信发送平台源代码.rar http://1000eb.com/5c6vASP.NET+AJAX基础示例 视频教程 http://1000eb.com/89jcC# Winform ...

  9. windows类书的学习心得

    原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...

随机推荐

  1. WCF学习之旅—WCF服务的批量寄宿(十三)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) WCF学习之旅—WCF ...

  2. javascript中字符串的比较规则

    弄清这个还是很重要的,在字符排序中很有用处 非空字符串 > 空字符串 从第一个字符的charCode开始比较,大的就大 所有的字符都相同,就比较长度,长的大 '0'>'' '2'>' ...

  3. python资料

    Python进阶 https://pythontips.com/ https://flyouting.gitbooks.io/learn-python-the-hard-way-cn/content/ ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...

  5. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  6. C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。

    准备工作 起因是因为这个网站:http://i.youku.com/kmsfan 这个是一个叫做冒险岛的游戏的资讯论坛,以前我经常在里面传视频,现在我不玩这个游戏了,但是很多玩家还是经常到我的网站里面 ...

  7. javascript编程杂记

    1.数组深复制 var obj =[1,2,4]: var obj2 = obj.slice(0);

  8. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  9. OS存储管理——FIFO,LRU,OPT命中率

    课程设计课题 存储管理程序设计 摘 要 虚拟存储器作为现代操作系统中存储管理的一项重要技术,实现了内存扩充功能.而分页请求分页系统正好可以完美的支持虚拟存储器功能,它具有请求调页功能和页面置换功能.在 ...

  10. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...