BCL(基类库)vs FCL(框架类库)

两者有什么区别? 我们可以互换使用吗?

基本类图书馆(BCL)的字面意思是,基地。 它包含基本的基本types,如System.StringSystem.DateTime

框架类库(FCL)是包含整体的更广泛的库:ASP.NET,WinForms,XML堆栈,ADO.NET等等。 你可以说FCL包含BCL。

BCL :

.NET框架库BCL是C#运行时库和通用语言基础结构(CLI)标准库之一的标准。 BCL提供表示内置CLI数据types,基本文件访问,集合,自定义属性,格式设置,安全属性,I / Ostream,string操作等的types。

整箱 :

.NET Framework类库正如其名称所暗示的那样:开发人员可以使用它们的类库和其他types来使他们的生活更轻松。 虽然这些类本身是用C#编写的,但它们可以从任何基于CLR的语言中使用

您将使用每个项目types的FCL的一些部分使用BCL。 因此,System.Windows.Forms(一个单独的库)或System.Web,与来自mscorlib和System.dll的BCL

BCL是FCL的一个子集。 BCL尊重通用语言基础设施的ECMA规范。 然后微软添加了所有的好处,如数据和XML,并称之为框架类库。 基本上他们把BCL拿到了11号!

基本类库(BCL)是作为公共语言运行时的基本API的类的核心集合。 mscorlib.dll中的类以及System.dll和System.core.dll中的一些类被认为是BCL的一部分。 它包含了System,System.Diagnostics,System.Globalization,System.Resources,System.Text,System.Runtime.Serialization和System.Data等命名空间中的类。

框架类库(FCL)是BCL类的超集,引用了.NET Framework附带的整个类库。 它包括一套扩展的库,包括Windows窗体,ADO.NET,ASP.NET,语言集成查询,Windows Presentation Foundation,Windows Communication Foundation等等。

所以有差异,你不能交替使用。

BCL代表基础类库也被称为类库(CL)。 BCL是框架类库(FCL)的一个子集。 类库是与CLR紧密集成的可重用types的集合。 基类库提供了有助于执行日常操作的类和types,例如处理string和基元types,数据库连接,IO操作。

而Framework类库包含数千个用于构build不同types应用程序的类,并提供应用程序所需的所有基本function和服务。 整箱包括类和服务,以支持不同的应用程序,例如

  • 桌面应用,

  • Web应用程序(ASP.Net,MVC,WCF),

  • 移动应用,

  • Xbox应用程序,

  • Windows服务等

更多细节在http://bit.ly/1O6N0z5

在这里输入图像说明

以下是从“The C#Player's Guide”一书中引用的。

BCL包含所有内置types,数组,exception,math库,基本文件I / O,安全性,集合,reflection,networking,string操作,线程等等。 虽然不是一个完美的指南,但一般的规则是任何以System开头的名称空间都是BCL的一部分。

除了BCL之外,Microsoft .NET Framework还有更多的类。 一般来说,这些额外的东西涵盖了广泛的function领域,如数据库访问或graphics用户界面(Windows Forms或WPF)。 包括BCL在内的整个集合被称为框架类库(FCL)。 在偶然的讨论中,有时候人们可以交替使用FCL和BCL,这是不正确的,但是对于大多数情况来说也许还是够用的。