两者有什么区别?我们可以互换使用吗?
答案 0 :(得分:87)
基类库(BCL)就是基础。它包含基本的基本类型,例如System.String
和System.DateTime
。
框架类库(FCL)是包含整体的更广泛的库:ASP.NET,WinForms,XML堆栈,ADO.NET等。你可以说FCL包含了BCL。
答案 1 :(得分:25)
.NET Framework库,BCL是C#运行时库和公共语言基础结构(CLI)标准库之一的标准。 BCL提供的类型代表内置的CLI数据类型,基本文件访问,集合,自定义属性,格式,安全属性,I / O流,字符串操作等。
.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服务等。
答案 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 可交替地,这不是严格正确的,但它对大多数事情来说可能已经足够了。