.net framework体系结构



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 framework体系结构的更多相关文章
- Spring Framework体系结构简介
说明:以下转自Spring官方文档,用的版本为4.3.11版本. 一.引用官方文档 2.2.1核心集装箱 所述核心容器由以下部分组成spring-core, spring-beans,spring-c ...
- Spring FrameWork体系结构及模块间依赖关系
详见:https://www.cnblogs.com/ywlaker/p/6136625.html 几个图: (Spring3) (Spring4) 由于Spring体系结构庞大且复杂,为了简化开发者 ...
- spring framework体系结构及内部各模块jar之间的maven依赖关系
很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...
- [转] spring framework体系结构及内部各模块jar之间的maven依赖关系
很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...
- spring framework体系结构及模块jar依赖关系
本文对于Spring的JAR包使用和配置,结合网友材料以spring 4.3.6.RELEASE版本为例,介绍spring框架结构和各模块对应JAR包以及模块间JAR依赖关系. 注:不同版本JAR包依 ...
- .NET和JAVA的比较- 体系结构
.NET体系结构 对于.NET Framework体系结构,参考了"你必须知道的.NET"并”借用“别人的经典体系结构图从宏观上说明一下我的理解. 图1 简单的说下几个名词: ...
- 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 ...
- C#源码500份
C Sharp 短信发送平台源代码.rar http://1000eb.com/5c6vASP.NET+AJAX基础示例 视频教程 http://1000eb.com/89jcC# Winform ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
随机推荐
- 菜鸟理解的工厂模式(Factory Pattern)是什么样子的?
直接开始说了,不浪费园友宝贵的时间! 什么是工厂模式? 在学习前,先问一下:"它是什么?". 工厂模式,它是项目里面常用的设计模式之一. 它是属于创建型模式,简单的理解创建型模式就 ...
- 为WLW开发Latex公式插件
WLW是写博客的利器,支持离线.格式排版等,而且拥有众多的插件.博客园推荐了代码插入插件,但是没有提供WLW的公式编译插件.目前我的一般做法是:先在Word下使用MathType编辑好公式,然后将公式 ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
- 从零开始编写自己的C#框架(19)——Web层后端权限模块
不知不觉本系统写了快三个月了,最近写页面的具体功能时感觉到有点吃力,很多地方如果张嘴来讲的话可以说得很细,很全面,可写成文字的话,就不太会写了,有些地方想讲得清晰的话,得用多几倍的文字+实例+变化中的 ...
- 日常css技巧小结(2)-- inline-block带来的迷惑
一.问题描述 在平时布局中,inline-block使用的频率比很高,主要是因为可以让行标签设置宽高.我在布局过程中,发现了两个“问题”, 1行标签.display:inline-block之后的行标 ...
- 连接SQLServer时,因启用连接池导致孤立事务的原因分析和解决办法
本文出处:http://www.cnblogs.com/wy123/p/6110349.html 之前遇到过这么一种情况: 连接数据库的部分Session会出现不定时的阻塞,这种阻塞时长时短,有时候持 ...
- 4.C#WinForm基础图片(显示和隐藏)
要求: 软件上有一张图片,默认是隐藏的.用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁,则显示图片. 知识点: 取当前年份,Date Time Now ...
- C# async/await 使用总结
今天搞这两个关键字搞得有点晕,主要还是没有彻底理解其中的原理. 混淆了一个调用异步方法的概念: 在调用异步方法时,虽然方法返回一个 Task,但是其中的代码已经开始执行.该方法在调用时,即刻执行了一部 ...
- ImageSharp .NET Core跨平台图形处理库
ImageSharp 是支持.NET Core跨平台图形处理库,ImageSharp是ImageProcessor 的.NET Core跨平台实现. ImageSharp 支持如下操作: 调整大小,裁 ...
- WPF 自定义ContextMenu且为左键点击显示
<Button Click="Button_Click_3" Style="{StaticResource NormalButtonStyle}"> ...