内容:
第五章 框架总览
- Overview
- .NET Standard 2.0
- CLR 和核心框架
- 应用技术
1. Overview
几乎所有 .NET 框架的作用都通过一系列的 Managed Types暴露出来。 这些 types 组织在一层层的 namespace中,然后别打包进assembly, 连同CLR 一起构成 .NET 平台。
有些.NET 类型是直接被CLR使用的,对管理 hosting environment有重要作用。这些代码都在mscorlib.dll
这个程序集中, 包括C#的内置类,集合类,流处理类,序列化,反射,线程,native interoperability。
mscorlib 是 Multi-language Standard Common Object Runtime Library
再往上一层,是基于这些类的来提供更多的功能的一些类,包括比如XML, 网络,LINQ。 它们在System.dll
和System.Core.dll
,System.Xml.dll
等等中,连同mscorlib
一起提供更丰富的编程环境。 .NET框架其他的功能都是基于这些之上的。
其他的功能主要都是包括一些Apllied API, 这其中大多数包含了下面3方面的功能:
- UI技术
- 后端技术
- 分布式系统技术
C# version | CLR version | .NET Framework versions |
---|---|---|
1.0 | 1.0 | 1.0 |
1.2 | 1.1 | 1.1 |
2.0 | 2.0 2.0, | 3.0 |
3.0 | 2.0 (SP2) | 3.5 |
4.0 | 4.0 | 4.0 |
5.0 | 4.5 (Patched CLR 4.0) | 4.5 |
6.0 | 4.6 (Patched CLR 4.0) | 4.6 |
7.0 | 4.6/4.7 (Patched CLR 4.0) | 4.6/4.7 |
大部分的核心类型都定义在以下这些程序集中:
- mscorlib.dll
- System.dll
- System.Core.dll
第一个mscorlib.dll
包含了运行时环境需求的类型; 而后面2个包含了其他程序员需要的类型。
The reason the latter two are separate is historical: when Microsoft introduced Framework 3.5, they made it
additive insofar as it ran as a layer over the existing CLR 2.0. Therefore, almost all new core types (such as the classes supporting LINQ) went into a new assembly that Microsoft called System.Core.dll.