BCL (библиотека базовых классов) и FCL (библиотека классов рамок) - PullRequest
87 голосов
/ 30 апреля 2009

Какая разница между этими двумя? Можем ли мы использовать их взаимозаменяемо?

Ответы [ 6 ]

88 голосов
/ 30 апреля 2009

Библиотека базовых классов (BCL) - это буквально база. Он содержит основные, фундаментальные типы, такие как System.String и System.DateTime.

Framework Class Library (FCL) - это более широкая библиотека, которая содержит все: ASP.NET, WinForms, стек XML, ADO.NET и многое другое. Можно сказать, что в FCL входит BCL.

25 голосов
/ 30 апреля 2009

BCL

Библиотека .NET Framework, BCL - это стандарт для библиотеки времени выполнения C # и одна из стандартных библиотек Common Language Infrastructure (CLI). BCL предоставляет типы, представляющие встроенные типы данных CLI, базовый доступ к файлам, коллекции, пользовательские атрибуты, форматирование, атрибуты безопасности, потоки ввода-вывода, манипуляции со строками и т. Д.

FCL

Библиотека классов .NET Framework - это именно то, что следует из ее названия: библиотека классов и других типов, которые разработчики могут использовать для облегчения своей жизни. Хотя сами эти классы написаны на C #, их можно использовать на любом языке CLR

Вы будете использовать BCL с некоторыми частями FCL для каждого типа проекта. Так System.Windows.Forms (отдельная библиотека) или System.Web, с BCL из mscorlib и System.dll

18 голосов
/ 04 января 2016

BCL обозначает библиотеку базовых классов, также известную как библиотека классов (CL). BCL является подмножеством библиотеки классов Framework (FCL). Библиотека классов - это коллекция многократно используемых типов, которые тесно интегрированы с CLR. Библиотека базовых классов предоставляет классы и типы, которые полезны при выполнении повседневных операций, например работа с строковыми и примитивными типами, подключение к базе данных, операции ввода-вывода.

в то время как библиотека классов Framework содержит тысячи классов, используемых для создания различных типов приложений, и предоставляет все основные функциональные возможности и службы, которые необходимы приложению. FCL включает в себя классы и сервисы для поддержки различных приложений, например

  • Настольное приложение,

  • Веб-приложение (ASP.Net, MVC, WCF),

  • Мобильное приложение,

  • Приложение Xbox,

  • услуги Windows и т. Д.

Подробнее на Что такое BCL / CL в .Net?

enter image description here

13 голосов
/ 08 декабря 2012

Библиотека базовых классов (BCL) - это базовый набор классов, которые служат базовым API-интерфейсом Common Language Runtime. Классы в mscorlib.dll и некоторые классы в System.dll и System.core.dll считаются частью BCL. Он включает классы в пространствах имен, таких как System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization и System.Data и т. Д.

Framework Class Library (FCL) является расширенным набором классов BCL и относится ко всей библиотеке классов, которая поставляется с .NET Framework. Он включает в себя расширенный набор библиотек, включая Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и других.

Так что есть различия, и вы не должны использовать их взаимозаменяемо.

12 голосов
/ 30 апреля 2009

BCL является подмножеством FCL. BCL соблюдает спецификацию ECMA для общей языковой инфраструктуры. Затем Microsoft добавила все их достоинства, такие как data и xml, и назвала это Framework Class Library. По сути, они взяли BCL и довели его до 11!

8 голосов
/ 19 января 2016

Ниже приводится цитата из книги "Руководство игрока C #".

BCL содержит все встроенные типы, массивы, исключения, математические библиотеки, базовый файловый ввод-вывод, безопасность, коллекции, рефлексия, сетевое взаимодействие, манипуляции со строками, многопоточность и многое другое. Пока не идеальный Как правило, общее правило состоит в том, что любое пространство имен, начинающееся с System, является частью BCL.

Помимо BCL, есть еще много классов, которые Microsoft поставляет с .NET Framework. В В общем, эти дополнительные вещи охватывают широкие функциональные области, такие как доступ к базе данных или графический пользовательские интерфейсы (Windows Forms или WPF). Вся эта коллекция, включая BCL, называется Framework Class Library, или FCL. В случайном обсуждении иногда люди используют FCL и BCL взаимозаменяемо, что не совсем правильно, но, возможно, этого достаточно для большинства вещей.

...