.NET框架认识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET框架认识相关的知识,希望对你有一定的参考价值。

回忆过去,VC++生成的文件,经过预编译、编译、汇编、链接几个步骤之后,生成可执行的本地代码。

 1、C#源程序执行过程

    源程序编译为程序集的过程:C#源程序 -> C#编译器 -> 程序集(CIL代码)-> JIT二次编译(.NET Runtime环境支持)-> 本机可以识别的指令

    上面的CIL(Common Intermediate Language)不是本机可以直接执行的指令,需要后续的处理。CIL是一种基于堆栈的语言,也是一种面向对象的语言。

2.BCL基类库

    BCL(Base Class Library)包含最基本的类库,BCL已经成为CIL的一部分了,所有面向CIL的语言都可以使用BCL。

3.FCL框架类库

    FCL(Framework Class Library)内容极多,包含三层。

    最内一层:大部分由BCL组成,对.NET框架、.NET运行时、CIL语言本身进行支持,例如:基元类型、集合类型、线程处理、网络连接、运行时、安全等

    中间一层:对操作系统的封装,包括:文件系统、网络连接、图形图像、XML操作等。

    最外一层:对各种应用程序的支持,例如:Windows Forms、ASP.NET、 WPF、 WCF等。、

4.CTS公共类型系统

    任何满足了 CTS(Common Type System)的高级语言,就叫做面向.NET框架的语言。CTS规定了类类型、枚举类型、字段、属性、方法等,显然CIL实现了CTS的全部功能,C#只实现了CTS的一部分功能,比如:C#没有全局变量。简言之:CTS是一套语言的规范定义。

5.CLR公共语言运行时

    CLR(Common Language Runtime)为.NET框架的核心部分。程序集主要由以下几个部分组成:

    技术分享

    CLR是.NET程序集的一个运行环境,类似Java虚拟机,管理了程序集的运行,包括:管理应用程序域、加载和运行程序集、安全检查、将CIL代码编译为机器代码、异常处理、对象析构和垃圾回收。

   

   

   

以上是关于.NET框架认识的主要内容,如果未能解决你的问题,请参考以下文章

简单认识C#

对laravel框架的理解及认识(摘自百度)

整理下log4net日志

深入理解C#

VS2022+.NET6+C#10,.NET开发起飞

Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用