.NET Framework主要由两部分组成
1.Common Language Runtime
2.Framework Class Library
CLR主要由四部分组成
1.Common Type System (CTS)-----------------------定义一套通用的数据类型,允许不同语言共享相同的类型
2.Common Language Specification (CLS)------------定义符合.Net的通用的语言规范,允许不同语言无缝交互
3.Metadata Services------------------------------提供对原数据的服务
4.Virtual Execution System (VES)-----------------虚拟的运行环境
运行在CLR上的是托管代码,可以进行自动的垃圾收集
中间语言(Intermediate Language)
任何其它.Net语言都被编译成中间语言,然后在第一次运行时JIT编译为Native Code
如下图所示
程序集(Assemblies)
DLL或者EXE 文件
有一个唯一的版本号,不会像DLL那样有版本冲突问题(DLL hell)
包含IL代码
安全边界:可以设定安全级别
类型边界:
自解释的 manifest:元数据
全局程序集缓冲(Global Assembly Cache)
保存共享程序集的地方,
目录位置:%SystemRoot%/assembly
使用gacutil.exe 添加程序集
其中的每个程序集必须有strong name
Framework Class Library
这部分就是System名字空间下的那些类了,好多类:—)