.NET Framework是Microsoft为开发应用程序而创建的一个富有革命性的新平台。
.NET Framework主要包含一个非常大的代码库,可以在客户语言(如C#)中通过面向对象编程技术(OOP)来使用这些代码。这个库分为不同的模块,这样就可以根据希望得到的结果来选择使用其中的各个部分。例如,一个模块包含Windows应用程序的构件,另一个模块包含联网的代码块,还有一个模块包含Web开发的代码块。一些模块还分为更具体的子模块,例如在Web开发模块中,有用于建立Web服务的子模块。
其目的是,不同的操作系统可以根据自己的特性,支持其中的部分或全部模块。例如,PDA支持所有的核心.NET功能,但不需要某些更深奥的模块。
部分.NET Framework库定义了一些基本类型。类型是数据的一种表达方式,指定其中最基础的部分(例如32位带符号的整数),以便使用.NET Framework在各种语言之间进行交互操作。这称为通用类型系统(Common Type System,CTS)。
除了支持这个库以外,.NET Framework还包含.NET公共语言运行库(Common Language Runtime,CLR),它负责管理用.NET库开发的所有应用程序的执行。
程序集:
在编译应用程序时,所创建的MSIL代码存储在一个程序集中,程序集包括可执行的应用程序文件(这些文件可以直接在Windows上运行,不需要其他程序,其扩展名是.exe)和其他应用程序使用的库(其扩展名是.dll)。
除了包含MSIL外,程序集还包含元信息(即程序集中包含的数据的信息,也称为元数据)和可选的资源(MSIL使用的其他数据,例如声音文件和图片)。元信息允许程序集是完全自我描述的。不需要其他信息就可以使用程序集,也就是说,我们不会遇到下述情形:不能把需要的数据添加到系统注册表中,而这种情形在使用其他平台进行开发时常常出现。
因此,部署应用程序就非常简单了,只需把文件复制到远程计算机上的目录下即可。因为不需要目标系统上的其他信息,所以只需从该目录中运行可执行文件即可(假定安装了.NET CLR)。
当然,不必把运行应用程序所需要的所有信息都安装到一个地方。可以编写一些代码,执行多个应用程序所要求的任务。此时,通常把这些可重用的代码放在所有应用程序都可以访问的地方。在.NET Framework中,这个地方是全局程序集高速缓存(Global Assembly Cache,GAC),把代码放在这个高速缓存中是很简单的,只需把包含代码的程序集放在包含该高速缓存的目录下即可。