Was ist der Unterschied zwischen den beiden? Können wir sie austauschbar verwenden?
c#
.net
terminology
Joan Venge
quelle
quelle
BCL :
FCL :
Sie verwenden die BCL mit einigen Teilen der FCL für jeden Projekttyp. Also System.Windows.Forms (eine separate Bibliothek) oder System.Web mit der BCL von mscorlib und System.dll
quelle
BCL steht für Base Class Library, auch als Class Library (CL) bekannt. BCL ist eine Teilmenge der Framework-Klassenbibliothek (FCL). Klassenbibliothek ist die Sammlung wiederverwendbarer Typen, die eng in CLR integriert sind. Die Basisklassenbibliothek bietet Klassen und Typen, die bei der Durchführung der täglichen Operationen hilfreich sind, z. B. beim Umgang mit Zeichenfolgentypen und primitiven Typen, Datenbankverbindungen und E / A-Operationen.
Die Framework-Klassenbibliothek enthält Tausende von Klassen, die zum Erstellen verschiedener Anwendungstypen verwendet werden, und bietet alle grundlegenden Funktionen und Dienste, die die Anwendung benötigt. FCL umfasst Klassen und Dienste zur Unterstützung verschiedener Anwendungsvielfalt, z
Desktopanwendung,
Webanwendung (ASP.Net, MVC, WCF),
Mobile Applikation,
Xbox-Anwendung,
Windows-Dienste usw.
Weitere Details finden Sie unter Was ist BCL / CL in .Net?
quelle
Die Basisklassenbibliothek (BCL) ist der Kernsatz von Klassen, die als Basis-API für die Common Language Runtime dienen. Die Klassen in mscorlib.dll und einige der Klassen in System.dll und System.core.dll werden als Teil der BCL betrachtet. Es enthält die Klassen in Namespaces wie System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization und System.Data usw.
Die Framework Class Library (FCL) ist eine Obermenge der BCL-Klassen und bezieht sich auf die gesamte Klassenbibliothek, die im Lieferumfang von .NET Framework enthalten ist. Es enthält eine erweiterte Reihe von Bibliotheken, darunter Windows Forms, ADO.NET, ASP.NET, Sprachintegrierte Abfrage, Windows Presentation Foundation und Windows Communication Foundation.
Es gibt also Unterschiede, die Sie nicht austauschbar verwenden dürfen.
quelle
Die BCL ist eine Teilmenge der FCL. BCL erkennt die ECMA-Spezifikation für die gemeinsame Sprachinfrastruktur an. Dann fügte Microsoft all ihre Güte wie Daten und XML hinzu und nannte es die Framework-Klassenbibliothek. Im Grunde genommen haben sie die BCL genommen und es auf 11 geschafft!
quelle
Das Folgende wird aus dem Buch "The C # Player's Guide" zitiert.
Die BCL enthält alle integrierten Typen, Arrays, Ausnahmen, mathematischen Bibliotheken, grundlegenden Datei-E / A, Sicherheit, Sammlungen, Reflektion, Netzwerk, String-Manipulation, Threading und mehr. Obwohl dies kein perfekter Leitfaden ist, lautet eine allgemeine Regel, dass jeder Namespace, der mit System beginnt, Teil der BCL ist.
Über die BCL hinaus gibt es viele weitere Klassen, die Microsoft mit .NET Framework liefert. Im Allgemeinen decken diese zusätzlichen Dinge breite Funktionsbereiche ab, wie z. B. Datenbankzugriff oder grafische Benutzeroberflächen (Windows Forms oder WPF). Diese gesamte Sammlung, einschließlich der BCL, wird als Framework Class Library (FCL) bezeichnet. In gelegentlichen Diskussionen werden FCL und BCL manchmal synonym verwendet, was nicht unbedingt korrekt ist, aber für die meisten Dinge vielleicht gut genug.
quelle