¿Cuál es la diferencia entre los dos? ¿Podemos usarlos indistintamente?
c#
.net
terminology
Joan Venge
fuente
fuente
BCL :
FCL :
Utilizará el BCL con algunas partes del FCL con cada tipo de proyecto. Entonces System.Windows.Forms (una biblioteca separada) o System.Web, con el BCL de mscorlib y System.dll
fuente
BCL significa biblioteca de clases base, también conocida como biblioteca de clases (CL). BCL es un subconjunto de la biblioteca de clases de Framework (FCL). La biblioteca de clases es la colección de tipos reutilizables que están estrechamente integrados con CLR. La biblioteca Base Class proporciona clases y tipos que son útiles para realizar operaciones diarias, por ejemplo, tratar con tipos primitivos y de cadena, conexión de base de datos, operaciones de E / S.
mientras que la biblioteca de clases Framework contiene miles de clases que se utilizan para crear diferentes tipos de aplicaciones y proporciona todas las funcionalidades y servicios básicos que la aplicación necesita. FCL incluye clases y servicios para admitir diferentes variedades de aplicaciones, por ejemplo
Aplicación de escritorio,
Aplicación web (ASP.Net, MVC, WCF),
Aplicación movil,
Aplicación Xbox,
servicios de windows, etc.
Más detalles en ¿Qué es BCL / CL en .Net?
fuente
La biblioteca de clases base (BCL) es el conjunto básico de clases que sirven como API básica de Common Language Runtime. Las clases de mscorlib.dll y algunas de las clases de System.dll y System.core.dll se consideran parte de BCL. Incluye las clases en espacios de nombres como System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization y System.Data, etc.
La biblioteca de clases de Framework (FCL) es un superconjunto de las clases de BCL y hace referencia a la biblioteca de clases completa que se envía con .NET Framework. Incluye un conjunto ampliado de bibliotecas, que incluye Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation, entre otros.
Entonces hay diferencias y no debe usarlas indistintamente.
fuente
El BCL es un subconjunto del FCL. BCL respeta la especificación ECMA para la infraestructura de lenguaje común. Luego, Microsoft agregó todas sus bondades como datos y xml y lo llamó Framework Class Library. Básicamente, tomaron el BCL y lo hicieron pasar al 11.
fuente
Lo siguiente se cita del libro "The C # Player's Guide".
El BCL contiene todos los tipos integrados, matrices, excepciones, bibliotecas matemáticas, E / S de archivos básica, seguridad, colecciones, reflexión, redes, manipulación de cadenas, subprocesos y más. Si bien no es una guía perfecta, una regla general es que cualquier espacio de nombres que comience con System es parte de BCL.
Más allá de BCL, hay muchas más clases que Microsoft incluye con .NET Framework. En general, estas cosas adicionales cubren amplias áreas funcionales, como el acceso a la base de datos o las interfaces gráficas de usuario (Windows Forms o WPF). Toda esta colección, incluida la BCL, se denomina Framework Class Library o FCL. En una discusión informal, a veces la gente usa FCL y BCL indistintamente, lo cual no es estrictamente correcto, pero quizás sea lo suficientemente bueno para la mayoría de las cosas.
fuente