BCL(基本クラスライブラリ)とFCL(フレームワーククラスライブラリ)


回答:


98

基本クラスライブラリ(BCL)は、文字通り、ベースです。それは基本的な含まれている、基本的なタイプが好きSystem.StringSystem.DateTime

フレームワーククラスライブラリ(FCL)は、ASP.NET、WinForms、XMLスタック、ADO.NETなどの全体を含む幅広いライブラリです。FCLにはBCLが含まれていると言えます。


35
単純なレベルでは、.NET Framework =ライブラリ(FCL、BCL)、言語コンパイラ(C#、VB.NET)、および共通言語ランタイム(CLR)。さらに、Visual Studio、MSDNヘルプなど、それを取り巻くエコシステム全体があります。
Andrew Webb

1
@JoanVenge BCLはFCLのサブセットです。BCLはFCLのサブコンポーネントであり、個別のコンポーネントではありません。
iliketocode

26

BCL

.NET FrameworkライブラリであるBCLは、C#ランタイムライブラリの標準であり、共通言語インフラストラクチャ(CLI)標準ライブラリの1つです。BCLは、組み込みのCLIデータタイプ、基本的なファイルアクセス、コレクション、カスタム属性、フォーマット、セキュリティ属性、I / Oストリーム、文字列操作などを表すタイプを提供します。

FCL

.NET Frameworkクラスライブラリは、その名前が示すとおり、開発者が使いやすいようにクラスとその他の型のライブラリです。これらのクラス自体はC#で記述されていますが、任意のCLRベースの言語から使用できます

各プロジェクトタイプでFCLのいくつかの部分でBCLを使用します。したがって、mscorlibとSystem.dllのBCLを使用したSystem.Windows.Forms(別のライブラリ)またはSystem.Web


4
マイクロソフトでは、CLRチームがBCLを所有していると思いますが、多くのチームはFCLのさまざまな部分を所有しています。
rjdevereux 2009

22

BCLは、クラスライブラリ(CL)とも呼ばれる基本クラスライブラリの略です。BCLは、フレームワーククラスライブラリ(FCL)のサブセットです。クラスライブラリは、CLRと緊密に統合された再利用可能な型のコレクションです。基本クラスライブラリは、文字列型やプリミティブ型、データベース接続、IO操作など、日常の操作の実行に役立つクラスと型を提供します。

一方、フレームワーククラスライブラリには、さまざまなタイプのアプリケーションを構築するために使用される何千ものクラスが含まれており、アプリケーションに必要なすべての基本的な機能とサービスを提供します。FCLには、さまざまなアプリケーションをサポートするクラスとサービスが含まれています。

  • デスクトップアプリケーション

  • Webアプリケーション(ASP.Net、MVC、WCF)、

  • モバイルアプリ、

  • Xboxアプリケーション

  • Windowsサービスなど

詳細ではより多くのBCL / CLは、.NETには何ですか?

ここに画像の説明を入力してください


ashish:BCLについてさらに説明的な回答を提供できますか
amitguptageek

4
いいね、絵は千の言葉の価値がある
mkb '20 / 12/16


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、Language Integrated Query、Windows Presentation Foundation、Windows Communication Foundationなどのライブラリの拡張セットが含まれています。

したがって、違いがあり、それらを交換して使用してはなりません。


12

BCLはFCLのサブセットです。BCLは、共通言語インフラストラクチャのECMA仕様を尊重します。次に、Microsoftはデータやxmlなどの優れた機能をすべて追加し、それをフレームワーククラスライブラリと呼びました。基本的に、彼らはBCLを取り、それを11にしました!


2
ありがとう、「go to 11」とはどういう意味ですか?
Joan Venge、

10
脊髄タップのリファレンス
クリスS

1
聞いたことがない。それが何を意味するのか教えてもらえますか?
Joan Venge、

8
だから、映画「This is Spinal Tap」では、ヘビーメタルバンドを模擬的なスタイルで風刺的に見たギタリスト(Nigel Tufnel)が、Marty DiBergiのために特別に作成したアンプを披露します。NigelTufnel:数字すべて11に行きます。見てください、11、11、11、...マーティ・ディベルギ:ああ、なるほど。そして、ほとんどのアンプは10まで上がりますか?: 丁度。:それはもっと大きいということですか?もっと大きいですか?:ええと、それはもっと大きいですよね?
Ichorus、2009

1
@Ichorusしかし、なぜ10音を大きくしないのですか?
Simon Bosley 2017

8

以下は、本「C#Player's Guide」から引用したものです。

BCLには、すべての組み込み型、配列、例外、数学ライブラリ、基本的なファイルI / O、セキュリティ、コレクション、リフレクション、ネットワーク、文字列操作、スレッドなどが含まれています。完全なガイドではありませんが、原則として、Systemで始まる名前空間はBCLの一部です。

BCL以外にも、Microsoftが.NET Frameworkに同梱するクラスは他にもたくさんあります。一般に、これらの追加事項には、データベースアクセスやグラフィカルユーザーインターフェイス(WindowsフォームまたはWPF)などの幅広い機能領域が含まれます。BCLを含むこのコレクション全体は、フレームワーククラスライブラリ(FCL)と呼ばれます。カジュアルディスカッションでは、FCLとBCLを交換可能に使用することがありますが、これは厳密には正しくありませんが、ほとんどの場合十分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.