web-dev-qa-db-ja.com

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

2つの違いは何ですか?それらを同じ意味で使用できますか?

90
Joan Venge

基本クラスライブラリ(BCL)は、文字通り、ベースです。 System.StringSystem.DateTimeなどの基本的な基本型が含まれています。

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

91
Andrew Webb

[〜#〜] bcl [〜#〜]

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

[〜#〜] fcl [〜#〜]

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

各プロジェクトタイプでFCLの一部でBCLを使用します。 System.Windows.Forms(別のライブラリ)またはSystem.Web、mscorlibおよびSystem.dllからのBCL

25
Chris S

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

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

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

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

  • モバイルアプリ、

  • Xboxアプリケーション、

  • windowsサービスなど。

詳細は 。NetのBCL/CLとは何ですか?

enter image description here

19
Ashish Shukla

基本クラスライブラリ(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 Forms、ADO.NET、ASP.NET、Language Integrated Query、Windows Presentation Foundation、Windows Communication Foundationなどのライブラリの拡張セットが含まれています。

そのため、違いがあり、それらを同じ意味で使用しないでください。

13

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

12
Joshua Belden

以下は、「The C#Player's Guide」という本から引用されています。

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

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

8
user1899020