¿Cuál es la diferencia entre los dos? ¿Podemos usarlos indistintamente?
¿Cuál es la diferencia entre los dos? ¿Podemos usarlos indistintamente?
Respuestas:
La biblioteca de clases base (BCL) es literalmente eso, la base. Contiene tipos básicos y fundamentales como System.String
y System.DateTime
.
La Biblioteca de clases de Framework (FCL) es la biblioteca más amplia que contiene la totalidad: ASP.NET, WinForms, la pila XML, ADO.NET y más. Se podría decir que el FCL incluye el BCL.
Una biblioteca de .NET Framework, BCL es el estándar para la biblioteca en tiempo de ejecución de C # y una de las bibliotecas estándar de Common Language Infrastructure (CLI). BCL proporciona tipos que representan los tipos de datos CLI integrados, acceso básico a archivos, colecciones, atributos personalizados, formato, atributos de seguridad, flujos de E / S, manipulación de cadenas y más.
La biblioteca de clases de .NET Framework es exactamente lo que sugiere su nombre: una biblioteca de clases y otros tipos que los desarrolladores pueden usar para hacerles la vida más fácil. Si bien estas clases están escritas en C #, se pueden usar desde cualquier lenguaje basado en CLR
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
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?
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.
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.
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.