语言之间互相操作的规则, 以及如何把应用程序编译为可执行代码;同 时,.NET Framework .NET Framework还负责任何Visual Visual Studio.NET语言创建的应用程序的执行。
.NET技术课程组 技术课程组
10
1.2 .NET Framework与Visual 与 Studio.NET的关系 的关系
.NET Framework旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码在本地 存储和执行,还是在本地执行但在Internet上发布,或者在远 程执行。 提供一个将软件部署和版本控制冲突最小化的代码执行环境。 提供一个可提高代码(包括未知的或不完全受任的第三方创建 的代码)执行安全性的代码执行环境。 提供一个可消除脚本环境或解释环境性能
问题的代码执行环境 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows的应用程序和基于Web的应用程序)时保持一致。 按照工业标准生成所有
通信,以确保基于.NET Framework的代 码可与任何其他代码集成。
.NET技术
课程组 技术课程组
11
1.3 .NET Framework结构 结构
不管在Visual Studio.NET中使用何种.NET 开发语言,都必须安装.NET Framework。这是 因为它们都依赖于.NET Framework来编译和执 .NET Framework 行应用程序。.NET Framework主要由公共语言 运行时和.NET Framework类库组成,它们分别 定义了数据类型和.NET下语言的互操作性,构 成了.NET Framework的基础。
.NET技术课程组 技术课程组
12
1.3.1 公共语言运行时
.NET Framework核心组件就是公共语言运行时, 它管理内存、线程执行、代码执行、代码安全验证、 编译和其他
系统服务等。这些功能是公共语言运行时 上运行的托管代码所固有的。下面列举出公共语言运 行时
提供的重要服务: 1.公共类型系统 . 2.公共语言规范 . 3.中间语言和 .中间语言和Just-In-Time编译器 编译器 4.执行管理 . 5.垃圾回收机制 .
.NET技术课程组 技术课程组
13
1.4 程序集
我们知道Visual Studio.NET把应用程序编译为 中间语言文件,该文件的内容通常称为程序集。
程序集(assembly)是.NET应用程序的原始的物 理构造块,我们创建的每一个应用程序便是一个 程序集。它是部署.NET应用程序的主要单元,它 .NET 可以是动态链接库(dll)或者可执行文件(exe)。
.NET技术课程组 技术课程组
14
1.4 程序集
程序集具有以下特点: 名称必须是全局唯一的 保存身份 程序集身份的信息,包括它文本命名和版本号。 程序清单描述了程序集的内容 一个程序集可能会依赖于其他一个或多个程序集,因此程序集 清单中还包含了一个依赖关系(dependencie)列表。 程序集提供的所有类型和资源
列表 清单中还包含许可(per
mission)这些许可设置访问权限,指 出哪些程序才可以访问程序集的内容
.NET技术课程组 技术课程组
15
1.5 命名空间
命名空间就是.NET框架中相关类和其他命名空间的集 合。.NET Framework的类库中包含了大量的类,大约有 了3500个类,所以在程序设计人员需要快捷的方法找到 所需要的类。为此.NET Framework类库被分为许多命名 空间,而在一个命名空间中包含了功能相似的类。 它使用句号分隔的命名结构,将逻辑上相关的类组织 到一起,以便于查找和引用命名空间组织在程序集中定义 的对象。程序集可以包含一个或多个命名空间,一个命名 空间又可以保存在一个或多个程序集中,而命名空间可以 包含其他命名空间。例如System和System.Data命名空间 都被保存在System.dll程序集中,在创建的应用程序中也 可以引入多个命名空间共同完成某项功能。
.NET技术课程组 技术课程组
16
1.5 命名空间
命名空间避免了使用大的对象组(如类库)时 的多义性并简化了引用。 命名空间实际上也是分层的,这意味着一个命 名空间可以包含另一个命空间,而后者又包含了 更为类似的类。