基础类库

Base Class Library (BCL) 是微软所提出的一组标准函数库可提供.NET Framework所有语言使用。

随着 Windows 以及 .NET Framework 的成长,BCL 已近乎成为在 .NET 上的 Windows API

BCL 基本命名空间列表

System

.NET Framework 类别库中最基底的服务,提供应用程式域 (Application Domain),资料类型,I/O 以及其他类别库的基础。

System.Collections

提供 .NET 应用程式所需的数据结构以及集合物件的支持,其中 System.Collections.Generic 命名空间更导入了泛型Generic)的支持。

System.Configuration

提供 .NET 应用程式在配置设置上的支持。

System.ComponentModel

提供 .NET 的组件基础架构。

System.Data

ADO.NET 的组成类别库,为资料存取功能的核心功能。

System.Drawing

提供 .NET 的绘图能力,包含基本位图处理以及影像与色彩处理,打印支持也由本命名空间提供,此命名空间包装了大多数的 GDI 以及 GDI+ 的 API。

System.EnterpriseServices

提供 .NET 与 COM+ 的互通能力。

System.IO

提供资料流与文件读写的支持:

  • TextReader/TextWriter,StringReader/StringWriter:文字档与字符串的读取器与写入器。
  • BinaryReader/BinaryWriter:二进制资料读写器。
  • StreamReader/StreamWriter:资料流读写器。
  • Directory/DirectoryInfo:磁碟文件夹物件。
  • File/FileInfo:磁碟文件物件。
  • DriveInfo:电脑中的磁碟资讯物件。
  • FileStream:文件资料流。
  • BufferedStream:缓冲器资料流。
  • MemoryStream:存储器空间资料流。

在此命名空间下,还支持几个功能类别:

  • System.IO.Compression:资料压缩工具,目前支持 GZip 和 Deflate 两种压缩法(.NET Framework 2.0 才有)。
  • System.IO.Pipe:流水线资料流支持(.NET Framework 3.5 才有)。
  • System.IO.Packaging:支持 ZIP 格式的压缩封装(.NET Framework 3.0 才有)。

System.Net

.NET 中的网络功能,例如:

  • HTTP 通讯的 WebClient, HttpWebRequest/HttpWebResponse。
  • FTP 通讯的 FtpWebRequest/FtpWebResponse。
  • TCPUDP 通讯以及伺服类别的 TcpClient/TcpListener, UdpClient/UdpListener。
  • Winsock 的基础 Socket 类别。
  • SMTP 邮件寄发的 SmtpMail 类别以及包装电邮内容的 Message 类别。

System.Reflection

.NET 中提供执行期类型资讯(RTTI)的支持,可以用来存取 .NET 组件Assembly)中的中介资料,并可以调用内部的属性或方法等。

System.Diagnostics

.NET 中提供系统诊断,调试,追踪与执行外部行程的能力。

  • Debug 类别可在调试程序执行中提交调试消息。
  • Debugger 类别可以控制 Visual Studio 或兼容的调试器执行,包含中断点设置与启动调试等。
  • Trace 类别可以在非调试的状态下提交诊断消息。
  • EventLog 类别可以和 Windows 的事件查看器交互。
  • Process 类别可以获取目前在电脑中执行的行程资讯,以及启动与终止行程。

System.Management

.NET 的 WMIWindows Management Instrumentation)支持。

System.Messaging

.NET 与 Microsoft Message Queue Service(MSMQ)的交互支持。

System.DirectoryServices

.NET 的 Active Directory Service Interface(ADSI)接口支持。

System.Runtime

.NET 中提供高级开发的支持,其下有几个重要的类别库:

  • System.Runtime.CompilerService:提供编译器所需中介资料的支持。
  • System.Runtime.InteropService : .NET 对 COM 与纯 Win32 API 以及以函数方式开放的 DLL 的交互支持。
  • System.Runtime.Remoting : .NET Remoting 组成的类别库。
  • System.Runtime.Serialization:在 .NET 中提供资料序列化Serialization)的支持,目前可支持 SOAPBinaryXML 等序列化能力。

System.Security

.NET 中控管安全性的重要类别。

  • System.Security.AccessControl:包装了对 Windows 资源的存取控制 (Access Control) 所需的 API。
  • System.Security.Principal:包装了用户原理 (Principal) 物件,以支持不同的验证方法。
  • System.Security.Cryptographics:包装 .NET Framework 所支持的密码编译算法,例如 DESAESSHAMD5 等。
  • System.Security.Permission:包装 .NET Framework 的 Code Access Security 所需的权限旗标。
  • System.Security.Policy:控制 .NET Framework 程序执行的原则 (Policy) 功能。

System.ServiceModel

WCF 的组成类别库,于 .NET Framework 3.0 时出现。

System.Text

.NET 中对文字,编码以及正规表达式Regular Expression)的支持。

System.Threading

.NET 中对线程控制的支持。

System.Timers

.NET 中的原生计时器支持(与 Windows Forms 中的 Timer 控件不同,它拥有更精准的计时器)。

System.Transactions

.NET 中的 DTC Transaction(又称 OLE Transaction)支持,于 .NET Framework 2.0 时出现。

System.Windows.Forms

Windows Forms 的组成类别库,包装了 Win32 用户界面,视窗,共享控件,以及 Shell 的基础 API,以提供设计 Windows 应用程式用户界面所需的支持。

System.Windows

WPF 的组成类别库,于 .NET Framework 3.0 时出现。

System.Web

ASP.NET 的组成类别库,其中亦包含了 IIS 伺服器的交互功能以及 HTTP 的服务处理类别,XML Web Service 开发的基本支持也由本类别提供。

System.Workflow

Windows Workflow Foundation(WF)的组成类别库,于 .NET Framework 3.0 时出现。

System.Xml

微软 XML 解析器 (Parser) 的主要包装类别。

System.Linq
System.Xml.Linq

微软 .NET Framework 3.5 中新提供的语言功能:LINQ 的核心类别库,System.Linq 是 LINQ to Object,而 System.Xml.Linq 则是 LINQ to XML。

不同厂商的支持

有一些由微软发展,以及其他厂商发展的类别库,也可以使用在 .NET Framework 中,它们都遵循一致的命名空间规范。

  • Microsoft.Win32 命名空间为包装部分高级 Windows API 的类别库,其中包含了对 Registry 的存取。
  • Microsoft.VisualBasic 命名空间则是为了 Visual Basic 语言特性所设计的类别库,例如 My 类别(放在 Microsoft.VisualBasic.MyServices)。
  • MySql.Data 则是由 MySQL AB 所设计,供 ADO.NET 存取之用的 MySQL 资料提供者。
  • OpenNetCF 则是由外部厂商开发,类似于 .NET Compact Framework 的类别库,在 .NET CF 尚未成熟时,它扮演了重要的角色。

参见

其它兼容于 .NET Framework 的架构

外部链接