.Net框架与框架类库

.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML WebServices)。

.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。

例如,ASP.NET 承载运行库以为托管代码提供可伸缩的服务器端环境。ASP.NET 直接使用运行库以启用 ASP.NET 应用程序和 XML Web Services(本主题稍后将对这两者进行讨论)。

Internet Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。使用 InternetExplorer 承载运行库使您能够在HTML 文档中嵌入托管组件或Windows 窗体控件。以这种方式承载运行库使得托管移动代码(类似于 Microsoft® ActiveX® 控件)成为可能,不过它需要进行重大改进(如不完全受信任的执行和独立的文件存储),而这种改进只有托管代码才能提供。

下面的插图显示公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。该插图还显示托管代码如何在更大的结构内运行。

.NET Framework 环境

 

1、语言
Visual Studio .NET 自身包含四种语言:Visual Basic、Visual C++、Visual C# 和 JScript。然而,.NET 框架的模块化特性使得由第三方创作的其他语言也可以集成到 Visual Studio.NET 中。此类语言有 20 多种,包括 Perl、Component Pascal、SmallScript 和 Smalltalk。

2、公共语言规范
此规范是实现 .NET 框架的所有语言的基础,定义了公共类型系统的标准和所有语言必须实现的功能。这是第三方语言与框架集成的基础。

3、Windows 窗体
所有语言都共享公共 Windows 窗体引擎。窗体设计器在所有语言中都是一致的,因此所有语言都可以访问提供相同属性和方法的相同固有控件。即使使用不同的语言开发,其界面也都具有相同的外观。

4、ASP.NET
这是 Web 窗体和 XML Web services 的基础技术。Web 窗体用于前端 Web 开发,而 XML Web services 通过 Intranet 或 Internet 提供相应的功能。

5、数据管理
ADO.NET 代替 ADO 作为 .NET 框架中的数据处理机制,它是使用 XML 进行数据传输的高度可伸缩技术。

6、基类库
这些类提供了一致且易于使用的方法,用于访问各种信息(例如,系统信息、用户信息等),而以前要访问这些信息,必须使用特殊的组件或 API。

7、公共语言运行时 (CLR)
CLR 为编译器提供了托管执行环境和编译服务。CLR 编译器将源代码编译成中间语言 (IL),然后再以实时 (JIT) 方式执行 IL。所有源语言都共享 CLR,并编译成相同的 IL。

8、.NET 框架结构

 

9、.NET 框架类

10、.NET 框架类库提供下列命名空间

Microsoft.CSharp :包含支持用 C# 语言进行编译和代码生成的类。

Microsoft . JScript :包含支持用 Jscript 语言进行编译和代码生成的 JScript 运行库和类。

Microsoft.VisualBasic :包含 Visual Basic .NET 运行库。此运行库与 Visual Basic .NET 语言一起使用。此命名空间还包含支持用 Visual Basic .NET语言进行编译和代码生成的类。

Microsoft.Vsa:包含使您可以将 .NET 框架脚本引擎的脚本集成到应用程序中以及在运行时编译和执行代码的接口。

Microsoft.Win32 :提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。

System:包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、属性和处理异常的基础类和基类。

其他类提供支持下列操作的服务:数据类型转换、方法参数操作、数学计算、远程和本地程序调用、应用程序环境管理以及对托管和非托管应用程序的监管。

System.CodeDom :包含可用于表示源代码文档的元素和结构的类。

System.CodeDom.Compiler:包含可用于根据代码文档对象模型 (CodeDOM) 源代码模型的结构,管理用受支持的编程语言编写的源代码的生成和编译的类。

System.Collections :包含定义各种对象集合(如列表、队列、位数组、哈希表和词典)的接口和类。

System.Collections.Specialized :包含专用的强类型集合;例如,链接表词典、位向量以及只包含字符串的集合。

System.ComponentModel:提供用于实现组件和控件的运行时和设计时行为的类。此命名空间包括用于属性和类型转换器的实现、数据源绑定和组件授权的基类和接口。

System.ComponentModel.Design :使开发人员可以生成自定义用户界面控件,并将这些控件包括在设计时环境中以便与供应商控件一起使用。

System.ComponentModel.Design.Serialization:提供设计器所进行的组件序列化支持。此命名空间中的类可用于提供自定义序列化程序、管理特定类型的序列化、管理设计器加载和设计器序列化,以及优化设计器重新加载。

System.Configuration :提供使您可以以编程方式访问 .NET 框架配置设置和处理配置文件(.config 文件)中的错误的类和接口。

System.Configuration.Assemblies :包含用于配置程序集的类。

System.Configuration.Install :提供使您可以为自己的组件编写自定义安装程序的类。Installer 类是 .NET 框架中所有自定义安装程序的基类。

System.Data:基本上由构成 ADO.NET 结构的类组成。ADO.NET 结构使您可以生成可用于有效管理多个数据源中的数据的组件。在断开连接的方案(如 Internet)中,ADO.NET 提供了一些可以在多层系统中请求、更新和协调数据的工具。ADO.NET 结构也可以在客户端应用程序(如 Windows 窗体)或 ASP.NET 创建的 HTML 页中实现。

System.Data.Common :包含由 .NET 数据提供程序共享的类。.NET 数据提供程序描述用于在托管空间中访问数据源(如数据库)的类的集合。

System.Data.OleDb :封装 OLE DB .NET 数据提供程序。.NET 数据提供程序描述用于在托管空间中访问数据源(如数据库)的类的集合。

System.Data.SqlClient :封装 SQL Server .NET 数据提供程序。.NET 数据提供程序描述用于在托管空间中访问数据源(如数据库)的类的集合。

System.Data.SqlTypes :提供用于 SQL Server 中的本机数据类型的类。这些类提供了其他数据类型的更安全、更快速的替代物。使用此命名空间中的类有助于防止在可能发生精度损失的情况中出现的类型转换错误。

System.Diagnostics:提供允许与系统进程、事件日志和性能计数器进行交互的类。此命名空间还提供了使您可以调试应用程序和跟踪代码执行的类。有关更多信息,请参阅 Trace 和 Debug 类。

System.Diagnostics.SymbolStore :提供使您可以读取和写入调试符号信息(如 Microsoft 中间语言 (MSIL) 映射的源行)的类。面向 .NET 框架的编译器可以将调试符号信息存储到程序员的数据库 (PDB) 文件中。调试器和代码分析器工具可以在运行时读取调试符号信息。

System.DirectoryServices:提供从托管代码轻松访问 Active Directory 的方法。

System.Drawing :提供对GDI+ 基本图形功能的访问。

System.Drawing.Drawing2D、System.Drawing.Imaging 和 System.Drawing.Text 命名空间提供了更高级的功能。

System.Drawing.Design:包含扩展设计时用户界面 (UI) 逻辑和绘制的类。可以进一步扩展此设计时功能,以创建自定义工具箱项、类型特定的值编辑器(可编辑和以图形方式表示所支持的类型的值)或类型转换器(可在特定类型之间转换值)。

System.Drawing.Drawing2D :提供高级的二维和向量图形功能。此命名空间包括渐变画笔、Matrix 类(用于定义几何转换)和 GraphicsPath 类。

System.Drawing.Imaging :提供高级的 GDI+ 图像处理功能。基本图形功能由 System.Drawing 命名空间提供。

System.Drawing.Printing :提供与打印相关的服务。

System.Drawing.Text:提供高级的 GDI+ 版式功能。基本图形功能由 System.Drawing 命名空间提供。此命名空间中的类使用户可以创建和使用字体集合。

System.EnterpriseServices:为企业级应用程序提供重要的基础结构。COM+ 为企业级环境中部署的组件编程模型提供服务结构。此命名空间为 .NET 框架对象提供了对 COM+ 服务的访问,从而使 .NET 框架对象更适用于企业级应用程序。

System.EnterpriseServices.CompensatingResourceManager:提供使您可以在托管代码中使用补偿资源管理器 (CRM) 的类。CRM 是由 COM+ 提供的一项服务,它使您可以在 Microsoft 分布式事务处理协调器 (DTC) 事务中包括非事务性对象。虽然 CRM 不提供完整资源管理器的功能,但它们却通过恢复日志提供事务性原子性(全有或全无行为)和持久性。

System.Globalization:包含定义区域性相关信息的类,这些信息包括语言、国家/地区、正在使用的日历、日期的格式模式、货币、数字以及字符串的排序顺序。

System.IO :包含允许对数据流和文件进行同步和异步读写的类型。

System.IO.IsolatedStorage:包含允许创建和使用独立存储区的类型。通过使用这些存储区,可以读写入受信任程度较小的代码无法访问的数据,并且可以防止公开可保存在文件系统中其他位置的敏感信息。数据存储在独立于当前用户和代码所在的程序集的数据舱中。

System.Management:提供对一组丰富的管理信息和管理事件(它们是关于符合 Windows 管理规范 (WMI) 基础结构的系统、设备和应用程序的)的访问。

System.Management.Instrumentation:提供在规范应用程序管理并通过 WMI 向潜在使用者公开管理信息和事件时必需的类。这样,MicrosoftApplication Center 或 Microsoft Operations Manager 等使用者就可以轻松地管理您的应用程序,而管理员脚本或其他应用程序(托管应用程序和非托管应用程序)也可以监视和配置您的应用程序。

System.Messaging:提供使您可以连接、监视和管理网络上的消息队列以及发送、接收或查看消息的类。

System.Net:为当前网络采用的多种协议提供简单的编程接口。WebRequest 和 WebResponse 类构成了所谓的可插接式协议的基础,该协议是一种网络服务的实现,它使您可以开发使用 Internet 资源的应用程序,而不必考虑各个协议的具体细节。

System.Net.Sockets :为需要严格控制网络访问的开发人员提供 Windows 套接字 (Winsock) 接口的托管实现。

System.Reflection:包含提供已加载类型、方法和字段的托管视图的类和接口,并具有动态创建和调用类型的能力。

System.Reflection.Emit :包含允许编译器或工具发出元数据和 Microsoft 中间语言 (MSIL) 并在磁盘上生成 PE 文件(可选)的类。这些类的主要客户端是脚本引擎和编译器。

System.Resources :提供允许开发人员创建、存储和管理应用程序中使用的各种区域性特定资源的类和接口。

System.Runtime.CompilerServices:为使用托管代码的编译器编写器提供功能,以在影响公共语言运行库的运行时行为的元数据中指定属性。此命名空间中的类只用于编译器编写器。

System.Runtime.InteropServices:提供用于从 .NET 访问 COM 对象和本机 API 的类的集合。此命名空间中的类型分为以下功能区:属性、异常、COM 类型的托管定义、包装、类型转换器和 Marsha 类。

 System.Runtime.InteropServices.Expando :包含 IExpando 接口,此接口允许通过添加或移除对象的成员来修改对象。

 System.Runtime.Remoting :提供允许开发人员创建和配置分布式应用程序的类和接口。

 System.Runtime.Remoting.Activation:提供支持服务器和客户端远程对象激活的类和对象。

 System.Runtime.Remoting.Channels:包含支持和处理信道和信道接收器的类,这些信道和信道接收器在客户端对远程对象调用方法时用作传输媒介。

System.Runtime.Remoting.Channels.Http :包含使用 HTTP 协议与远程位置之间相互传输消息和对象的信道。默认情况下,HTTP 信道以 SOAP 格式对对象和方法调用进行编码以便传输,但在信道的配置属性中也可以指定其他编码和解码格式化程序接收器。

System.Runtime.Remoting.Channels.Tcp:包含使用 TCP 协议与远程位置之间相互传输消息和对象的信道。默认情况下,TCP 信道以二进制格式对对象和方法调用进行编码以便传输,但在信道的配置属性中也可以指定其他编码和解码格式化程序接收器。

System.Runtime.Remoting.Contexts:包含定义所有对象所驻留的上下文的对象。上下文是一个有序的属性序列,用于定义其中的对象所处的环境。上下文是在对象的激活过程中创建的,这些对象被配置为要求某些自动服务,如同步、事务、实时 (JIT) 激活、安全性等。多个对象可以存留在一个上下文内。

System.Runtime.Remoting.Lifetime:包含管理远程对象生存期的类。传统上,分布式垃圾回收功能使用引用计数和Ping 来控制对象的生存期。这种机制在每一项服务只有较少的客户端时可以正常工作,但是当每一项服务有几千个客户端时就不能正常工作了。远程处理生存期服务将每一项服务与一个租约关联,当租约到期时,就会删除该服务。生存期服务可以起到传统的分布式垃圾回收器的作用,并且当每一项服务的客户端数量增加时也能很好地调整。

System.Runtime.Remoting.Messaging :包含用于创建和远程处理消息的类。远程处理基础结构使用消息与远程对象进行通讯。消息用于传输远程方法调用、激活远程对象和交流信息。消息对象携带一组命名属性,其中包括操作标识符、代表信息和参数。

System.Runtime.Remoting.Metadata :包含可用于为对象和字段自定义 SOAP 的生成和处理的类和属性。此命名空间中的类可用于指示 SOAPAction、类型输出、XML 元素名和 XML 命名空间 URI 方法。

System.Runtime.Remoting.Metadata.W3cXsd2001:包含由 WWW 联合会 (W3C) 在 2001 年定义的 XML 架构定义 (XSD)。W3C 中的“XML Schema Part2: Data types”(XML 架构第二部分:数据类型)规范确定了各种数据类型的格式和行为。此命名空间包含符合 W3C 规范的数据类型的包装类。所有日期和时间类型都符合 ISO 标准规范。

System.Runtime.Remoting.MetadataServices :包含由 Soapsuds.exe 命令行工具和用户代码用来在元数据和远程处理基础结构的 XML 架构之间相互转换的类。

System.Runtime.Remoting.Proxies:包含控制和提供代理功能的类。代理是作为远程对象映像的本地对象。代理使客户端可以跨远程处理边界访问对象。

System.Runtime.Remoting.Services:包含为 .NET 框架提供功能的服务类。

System.Runtime.Serialization :包含可用于序列化和反序列化对象的类。序列化是将对象或对象图转换为线性的字节序列以存储或传输到其他位置的过程。反序列化是接受存储的信息并用这些信息重新创建对象的过程。

System.Runtime.Serialization.Formatters:提供由序列化格式化程序使用的通用枚举、接口和类。

System.Runtime.Serialization.Formatters.Binary:包含可用于以二进制格式序列化和反序列化对象的BinaryFormatter 类。

System.Runtime.Serialization.Formatters.Soap:包含可用于以 SOAP 格式序列化和反序列化对象的 SoapFormatter 类。

System.Security:提供公共语言运行库安全系统的基础结构,包括权限的基类。

System.Security.Cryptography :提供加密服务,包括数据的安全编码和解码,以及其他许多操作,如哈希处理、随机数生成和消息身份验证。

System.Security.Cryptography.X509Certificates:包含Authenticode X.509 v.3 证书的公共语言运行库实现。此证书用唯一明确标识证书持有者的私钥签名。

System.Security.Cryptography.XML :包含在 .NET 框架安全系统中供独占使用的 XML 模型。此 XML 模型不应用于常规用途。此模型允许对 XML 对象进行数字签名。

System.Security.Permissions:定义根据策略控制操作和资源访问的类。

lSystem.Security.Policy:包含代码组、成员条件和证据。这三种类型的类用于创建由公共语言运行库安全策略系统应用的规则。证据类是安全策略的输入,成员条件是开关;二者共同创建策略语句并确定授予的权限集。策略级别和代码组是策略层次的结构。代码组是规则的封装并且在策略级别中分层排列。

System.Security.Principal :定义表示运行代码的安全上下文的用户对象。

System.ServiceProcess:提供使您可以实现、安装和控制 Windows 服务应用程序的类。服务是不需要用户界面长期运行的可执行文件。实现服务的过程包括:从 ServiceBase 类继承,定义在传入启动、停止、暂停和继续命令时处理的特定行为,以及定义当系统关闭时所采取的自定义行为和操作。

System.Text :包含表示 ASCII、Unicode、UTF-7 和 UTF-8 字符编码的类;用于在字符块和字节块之间相互转换的抽象基类;以及不需要创建字符串的中间实例就可以操作和格式化字符串对象的帮助器类。

System.Text.RegularExpressions:包含提供对 .NET 框架正则表达式引擎的访问的类。此命名空间提供可在 Microsoft.NET 框架上运行的任何平台或语言中使用的正则表达式功能。

System.Threading:提供支持多线程编程的类和接口。此命名空间包括管理线程组的ThreadPool 类、允许在指定的一段时间后调用委托的 Timer 类,以及用于同步互相排斥的线程的 Mutex 类。此命名空间还提供用于线程安排、等待通知和死锁解析的类。

System.Timers :提供允许以指定的间隔引发事件的 Timer 组件。

system.web :提供支持浏览器/服务器通讯的类和接口。此命名空间包括提供有关当前 HTTP 请求的大量信息的HTTPResponse 类、管理 HTTP 到客户端的输出的 HTTPResponse 类,以及提供对服务器端实用工具和进程的访问的HTTPServerUtility 对象。System.Web 还包括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。

System.Web.Caching :提供用于在服务器上缓存常用资源的类。这些资源包括 ASP.NET 页、Web 服务和用户控件。另外,缓存词典可供您存储常用资源,如哈希表和其他数据结构。

System.Web.Configuration :包含用于设置 ASP.NET 配置的类。

System.Web.Hosting :提供从 Microsoft Internet InformationServer (IIS) 外部的托管应用程序承载ASP.NET 应用程序的功能。

System.Web.Mail :包含使您能够使用 CDOSYS 消息组件构造和发送消息的类。邮件消息通过 MicrosoftWindows 2000 中内置的 SMTP 邮件服务或任意的 SMTP 服务器发送。此命名空间中的类可从 ASP.NET 或任何托管应用程序中使用。

System.Web.Security: 包含用于在 Web 服务器应用程序中实现ASP.NET 安全的类。

System.Web.Services:由一些类组成,这些类使您可以生成和使用 Web 服务。Web 服务是驻留在 Web 服务器上并通过标准 Internet 协议公开的可编程实体。

System.Web.Services.Configuration :由一些类组成,这些类配置用 ASP.NET 创建的 XML Web services 的运行方式。

System.Web.Services.Description :由一些类组成,这些类使您能够使用 Web 服务描述语言 (WSDL) 公开描述 XML Web services。此命名空间中的每个类对应于 WSDL 规范中的一个特定元素,并且类层次结构对应于有效的 WSDL 文档的 XML 结构。

System.Web.Services.Discovery:由一些类组成,这些类允许 XML Web services 客户端通过称为“XML Web services 发现”的进程来定位 Web 服务器上可用的 XMLWeb services。

System.Web.Services.Protocols :由一些类组成,这些类定义用于在通讯期间通过网络在 XML Webservices 客户端和用 ASP.NET 创建的 XML Web services 之间传输数据的协议。

System.Web.SessionState:提供支持在服务器上存储特定于 Web 应用程序中的单个客户端的数据的类和接口。会话状态数据用于向客户端提供与应用程序的持久连接的外观。状态信息可以存储在本地进程内存中,或者,对于网络场配置来说,可以使用 ASP.NET 状态服务或 SQL Server 数据库将状态信息存储在进程外。

System.Web.UI :提供使您可以创建以 Web 页上的用户界面形式出现在 Web 应用程序中的控件和页的类和接口。此命名空间包括 Control 类,该类为所有控件(不论是 HTML 控件、Web 控件还是用户控件)提供一组通用功能。它还包括 Page 控件,每当对 Web 应用程序中的页发出请求时,都会自动生成此控件。另外还提供了一些类,这些类提供 Web 窗体服务器控件数据绑定功能、保存给定控件或页的视图状态的能力,以及对可编程控件和文本控件都适用的分析功能。

System.Web.UI.Design :包含可用于扩展 Web 窗体设计时支持的类。

System.Web.UI.Design.WebControls :包含可用于扩展 Web 服务器控件设计时支持的类。

System.Web.UI.HtmlControls :提供使您可以在 Web 页上创建 HTML 服务器控件的类。HTML 服务器控件在服务器上运行,并直接映射到所有浏览器支持的标准 HTML 标记。这使您能够以编程方式控制 Web 页上的 HTML 元素。

System.Web.UI.WebControls :包含使您可以在 Web 页上创建 Web 服务器控件的类。Web 控件在服务器上运行,并包括窗体控件(如按钮和文本框)以及特殊用途的控件(如日历)。这使您能够以编程方式控制 Web 页上的这些元素。Web 控件比 HTML 控件更抽象。它们的对象模型不一定反映 HTML 语法。

System.Windows.Forms:包含用于创建基于 Windows 的应用程序的类,这些应用程序可以充分利用 MicrosoftWindows 操作系统中的丰富用户界面功能。

System.Windows.Forms.Design :包含可用于扩展 Windows 窗体设计时支持的类。

System.Xml :提供基于标准的 XML 处理支持。

System.Xml.Schema :提供基于标准的 XML 架构 (XSD) 支持。

System.Xml.Serialization:包含用于将对象序列化为 XML 格式的文档或流的类。

System.Xml.XPath:包含 XPath 分析器和计算引擎。它支持 W3C XML 路径语言 (XPath) 1.0 版建议 (www.w3.org/TR/xpath)。

System.Xml.Xsl:

提供可扩展样式表转换(XSLT) 转换支持。它支持 W3C XSL 转换 (XSLT) 1.0 版建议 (www.w3.org/TR/xslt)。 用法可以按语言筛选类库参考文档,以便查看某种语言(VisualBasic、C#、C++ 的托管扩展或 JScript)或者同时查看所有这四种语言的语法、说明和示例。若要按语言筛选,请单击任一参考页顶部的筛选图标,然后选择一种语言或选择“全部显示”。

你可能感兴趣的:(.Net,&,C#)