两者有什么区别?我们可以互换使用吗?
两者有什么区别?我们可以互换使用吗?
Answers:
基类库(BCL)实际上就是基。它包含基本的基本类型,例如System.String
和System.DateTime
。
框架类库(FCL)是包含全部内容的更广泛的库:ASP.NET,WinForms,XML堆栈,ADO.NET等。您可以说FCL包括BCL。
BCL是.NET Framework库,是C#运行时库的标准,并且是公共语言基础结构(CLI)标准库之一。BCL提供了代表内置CLI数据类型,基本文件访问,集合,自定义属性,格式,安全性属性,I / O流,字符串操作等的类型。
.NET Framework类库正是其名称所暗示的含义:开发人员可用来简化生活的类和其他类型的库。这些类本身都是用C#编写的,但可以从任何基于CLR的语言中使用它们。
您将使用BCL以及每种项目类型的FCL的某些部分。因此,System.Windows.Forms(一个单独的库)或System.Web,以及来自mscorlib和System.dll的BCL
BCL代表基类库,也称为类库(CL)。BCL是Framework类库(FCL)的子集。类库是与CLR紧密集成的可重用类型的集合。基本类库提供有助于执行日常操作的类和类型,例如处理字符串和原始类型,数据库连接,IO操作。
而Framework类库包含数千个用于构建不同类型的应用程序的类,并提供了应用程序所需的所有基本功能和服务。FCL包括支持不同应用程序的类和服务,例如
桌面应用程序
Web应用程序(ASP.Net,MVC,WCF),
移动应用
Xbox应用程序
Windows服务等
更多详细信息,在什么是BCL / CL在.net中?
基本类库(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是FCL的子集。BCL遵守ECMA通用语言基础结构规范。然后,Microsoft添加了它们的所有优点,例如数据和xml,并将其称为“框架类库”。基本上,他们采用了BCL并使其达到11!
以下内容摘自《 C#播放器指南》一书。
BCL包含所有内置类型,数组,异常,数学库,基本文件I / O,安全性,集合,反射,网络,字符串处理,线程化等。虽然不是一个完美的指南,但通常的规则是,任何以System开头的名称空间都是BCL的一部分。
除了BCL,Microsoft .NET Framework还附带了许多其他类。通常,这些附加功能涵盖了广泛的功能领域,例如数据库访问或图形用户界面(Windows窗体或WPF)。包括BCL在内的整个集合称为框架类库或FCL。在不经意的讨论中,有时人们会交替使用FCL和BCL,虽然严格意义上讲这不是正确的,但对于大多数事情来说可能就足够了。