Qual a diferença entre os dois? Podemos usá-los de forma intercambiável?
Qual a diferença entre os dois? Podemos usá-los de forma intercambiável?
Respostas:
A Base Class Library (BCL) é literalmente isso, a base. Ele contém tipos básicos e fundamentais como System.String
e System.DateTime
.
A Framework Class Library (FCL) é a biblioteca mais ampla que contém a totalidade: ASP.NET, WinForms, a pilha XML, ADO.NET e muito mais. Você poderia dizer que o FCL inclui o BCL.
Uma biblioteca .NET Framework, BCL é o padrão para a biblioteca de tempo de execução C # e uma das bibliotecas padrão Common Language Infrastructure (CLI). O BCL fornece tipos que representam os tipos de dados CLI integrados, acesso a arquivos básicos, coleções, atributos personalizados, formatação, atributos de segurança, fluxos de E / S, manipulação de strings e muito mais.
A biblioteca de classes do .NET Framework é exatamente o que seu nome sugere: uma biblioteca de classes e outros tipos que os desenvolvedores podem usar para tornar suas vidas mais fáceis. Embora essas classes sejam escritas em C #, elas podem ser usadas em qualquer linguagem baseada em CLR
Você usará o BCL com algumas partes do FCL com cada tipo de projeto. Portanto, System.Windows.Forms (uma biblioteca separada) ou System.Web, com o BCL de mscorlib e System.dll
BCL significa biblioteca de classes base, também conhecida como biblioteca de classes (CL). BCL é um subconjunto da biblioteca de classes do Framework (FCL). A biblioteca de classes é a coleção de tipos reutilizáveis que estão intimamente integrados ao CLR. A biblioteca Base Class fornece classes e tipos que são úteis na execução de operações do dia a dia, por exemplo, lidar com strings e tipos primitivos, conexão de banco de dados, operações IO.
enquanto a biblioteca de classes do Framework contém milhares de classes usadas para construir diferentes tipos de aplicativos e fornece todas as funcionalidades e serviços básicos que o aplicativo precisa. FCL inclui aulas e serviços para oferecer suporte a diferentes variedades de aplicativos, por exemplo
Aplicativo de desktop,
Aplicativo da Web (ASP.Net, MVC, WCF),
Aplicativo móvel,
Aplicativo do Xbox,
serviços do Windows etc.
Mais detalhes em O que é BCL / CL em .Net?
A Base Class Library (BCL) é o conjunto principal de classes que servem como API básica do Common Language Runtime. As classes em mscorlib.dll e algumas das classes em System.dll e System.core.dll são consideradas parte do BCL. Inclui as classes em namespaces como System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization e System.Data etc.
A Framework Class Library (FCL) é um superconjunto das classes BCL e se refere a toda a biblioteca de classes fornecida com o .NET Framework. Inclui um conjunto expandido de bibliotecas, incluindo Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation entre outros.
Portanto, existem diferenças e você não deve usá-las de forma intercambiável.
O BCL é um subconjunto do FCL. A BCL honra a especificação ECMA para a infraestrutura de linguagem comum. Em seguida, a Microsoft adicionou todas as suas qualidades, como dados e xml, e chamou-a de Framework Class Library. Basicamente, eles pegaram o BCL e subiram para 11!
O seguinte é citado do livro "The C # Player's Guide".
O BCL contém todos os tipos integrados, arrays, exceções, bibliotecas matemáticas, E / S de arquivo básico, segurança, coleções, reflexão, rede, manipulação de string, threading e muito mais. Embora não seja um guia perfeito, uma regra geral é que qualquer namespace que comece com System faz parte do BCL.
Além do BCL, existem muitas outras classes fornecidas pela Microsoft com o .NET Framework. Em geral, essas coisas adicionais cobrem amplas áreas funcionais, como acesso a banco de dados ou interfaces gráficas de usuário (Windows Forms ou WPF). Essa coleção inteira, incluindo o BCL, é chamada de Framework Class Library, ou FCL. Em uma discussão casual, às vezes as pessoas usam FCL e BCL alternadamente, o que não é estritamente correto, mas talvez seja bom o suficiente para a maioria das coisas.