一..NET框架开发平台体系架构
1.1将源代码编译为托管模块
.NET框架体系的结构:公共语言运行库(CLR,Common Language Runtime)和.NET Framework 类库。
.NET Framework 的核心及其运行环境,称为 .NET运行库或CLR
代码管理又可以分为 托管代码 和 非托管代码 。
托管代码定义:CLR开发的代码(IL代码)。
CLR 提供安全的内存管理机制,自动处理对象布局并管理对象引用,当不在使用对象时释放它们,然而垃圾回收器就发挥了作用消除内存泄露以及其他的一些常见的内存错误。
当然 ,如果我们按这种方式生存管理的对象称为托管数据。
编译过程:
c#源代码文件 → c#编译器 → 托管模块(IL和元数据)
1.2将托管模块组合为程序集
CLR并不与托管模块打交道,而是和我们相对熟悉的程序集(assembly)。
1.3加载通用语言运行时
CLR负责管理包含在程序集中的代码的执行(当然要安装.net框架的前提下)。
1.4执行程序集代码
1.5.NET框架类库(FCL,Framework Class Library)
Namespace |
Description of contents |
System.Diagnostics |
调试程序和help instrument的Types |
System.Drawing |
操作2-D图形的Types;通常为Windows Forms 程序和创建用于Web Forms page显示的图片 |
System.EnterpriseServices |
用于transactions管理, queued components, object pooling, JIT activation, security, 和其他使得erver端managed code更有效的Type |
System.Management |
通过Windows Management Instrumentation (WMI)来管理enterprise上其他计算机的Type |
System.Net |
网络链接的Type |
System.Reflection |
用来解析metadata并且late binding到types及其成员的type |
System.Runtime.InteropServices |
允许managed代码执行unmanaged OS 平台功能(例如 COM 组件和Win32 DLL函数)的Type |
System.Runtime.Remoting |
容易type远程调用的type |
System.Runtime.Serialization |
允许对象实例永久保存到一个Stream或从中读取并解析的type |
System.Security |
用来保护数据和资源的type |
System.Text |
支持文本多重编码(比如ASCII或UNICODE)切换的type |
System.Threading |
用来处理对资源的异步或同步操作的type |
System.Xml |
处理XML schemas和data的type |
System.Web.Services |
用来创建XML Web services的type |
System.Web.UI |
用来创建Web Forms的type |
System.Windows.Forms |
用来创建Windows GUI应用程序的type |
System.ServiceProcess |
用来创建可被SCM操作的Windows service 的type |
1.6通用类型系统(CTS ,Common Type System)
CTS :描述类型的定义和行为。
1.7 通用语言规范(CLS,Common Language Specification)