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

时间:2009-04-30 16:38:56

标签: c# .net terminology

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

6 个答案:

答案 0 :(得分:87)

基类库(BCL)就是基础。它包含基本的基本类型,例如System.StringSystem.DateTime

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

答案 1 :(得分:25)

BCL

  

.NET Framework库,BCL是C#运行时库和公共语言基础结构(CLI)标准库之一的标准。 BCL提供的类型代表内置的CLI数据类型,基本文件访问,集合,自定义属性,格式,安全属性,I / O流,字符串操作等。

FCL

  

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

您将使用BCL与每个项目类型的FCL的某些部分。所以System.Windows.Forms(一个单独的库)或System.Web,带有来自mscorlib和System.dll的BCL

答案 2 :(得分:18)

BCL 代表基类库,也称为类库(CL)。 BCL是Framework类库(FCL)的子集。类库是与CLR紧密集成的可重用类型的集合。基类库提供有助于执行日常操作的类和类型,例如处理字符串和基元类型,数据库连接,IO操作。

而Framework类库包含数千个用于构建不同类型应用程序的类,并提供应用程序所需的所有基本功能和服务。 FCL包括支持不同种类应用的类和服务,例如。

  • 桌面应用程序,

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

  • 移动应用程序,

  • Xbox应用程序,

  • Windows服务等。

What is BCL/ CL in .Net?

的更多详情

enter image description here

答案 3 :(得分:13)

基类库(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等。

所以存在差异,你不能互换使用。

答案 4 :(得分:12)

BCL是FCL的子集。 BCL尊重ECMA公共语言基础设施规范。然后,微软将所有的好处添加到数据和xml中,并将其称为框架类库。基本上他们把BCL带到了11点!

答案 5 :(得分:8)

以下内容引自本书" The C#Player's Guide"。

BCL包含所有内置类型,数组,异常,数学库,基本文件I / O,安全性, 集合,反射,网络,字符串操作,线程等。虽然不是完美的 指南,一般规则是任何以System开头的命名空间都是BCL的一部分。

除了BCL之外,Microsoft还附带了许多与.NET Framework一起提供的类。在 一般而言,这些附加内容涵盖了广泛的功能区域,例如数据库访问或图形 用户界面(Windows窗体或WPF)。整个集合,包括BCL,被称为 框架类库,或FCL。在随意的讨论中,有时人们会使用FCL和BCL 可交替地,这不是严格正确的,但它对大多数事情来说可能已经足够了。