BCL (Base Class Library) vs FCL (Framework Class Library)


Respostas:


98

A Base Class Library (BCL) é literalmente isso, a base. Ele contém tipos básicos e fundamentais como System.Stringe 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.


35
Em um nível simples, .NET Framework = bibliotecas (FCL, BCL), compiladores de linguagem (C #, VB.NET) e Common Language Runtime (CLR). Além disso, há todo o ecossistema que envolve isso: Visual Studio, Ajuda do MSDN e muito mais.
Andrew Webb

1
@JoanVenge BCL é um subconjunto do FCL; BCL é um subcomponente do FCL, não um componente separado.
iliketocode de

26

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.

FCL :

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


4
Na Microsoft, acredito que a equipe CLR possui o BCL, enquanto muitas equipes possuem diferentes partes do FCL.
rjdevereux

22

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?

insira a descrição da imagem aqui


Ashish: você pode fornecer algumas respostas mais descritivas sobre BCL
amitguptageek

4
bom, uma imagem vale mais que mil palavras
mkb

@amitguptageek você pode verificar mais detalhes em modernpathshala.com/Forum/Thread/Interview/7307/…
Ashish Shukla

13

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.


12

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!


2
Obrigado, o que você quer dizer com "vá para 11"?
Joan Venge

10
Referência do Spinal Tap
Chris S

1
Não ouvi esse. Você pode me dizer o que significa para que eu não fique de fora?
Joan Venge

8
Então, no filme 'This is Spinal Tap', que é um olhar satírico sobre bandas de heavy metal em um estilo mock-umentary, o guitarrista (Nigel Tufnel) mostra um amplificador que ele fez especialmente para Marty DiBergi: Nigel Tufnel: os números todos vão para onze. Olha, do outro lado da placa, onze, onze, onze e ... Marty DiBergi: Oh, entendo. E a maioria dos amplificadores vai até dez? : Exatamente. : Isso significa que está mais alto? Está mais alto? : Bem, é um mais alto, não é?
Ichorus

1
@Ichorus, mas por que eles simplesmente não tornam dez mais altos?
Simon Bosley

8

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.