Qual è la differenza tra i due? Possiamo usarli in modo intercambiabile?
Qual è la differenza tra i due? Possiamo usarli in modo intercambiabile?
Risposte:
La Base Class Library (BCL) è letteralmente quella, la base. Contiene tipi di base, fondamentali come System.String
e System.DateTime
.
La Framework Class Library (FCL) è la libreria più ampia che contiene la totalità: ASP.NET, WinForms, lo stack XML, ADO.NET e altro. Si potrebbe dire che la FCL include la BCL.
Una libreria .NET Framework, BCL è lo standard per la libreria runtime C # e una delle librerie standard Common Language Infrastructure (CLI). BCL fornisce tipi che rappresentano i tipi di dati CLI integrati, accesso ai file di base, raccolte, attributi personalizzati, formattazione, attributi di sicurezza, flussi di I / O, manipolazione di stringhe e altro.
La libreria di classi .NET Framework è esattamente ciò che suggerisce il nome: una libreria di classi e altri tipi che gli sviluppatori possono utilizzare per semplificare la loro vita. Sebbene queste classi siano scritte in C #, possono essere utilizzate da qualsiasi linguaggio basato su CLR
Utilizzerai il BCL con alcune parti del FCL con ogni tipo di progetto. Quindi System.Windows.Forms (una libreria separata) o System.Web, con BCL da mscorlib e System.dll
BCL è l' acronimo di libreria di classi di base nota anche come libreria di classi (CL). BCL è un sottoinsieme della libreria di classi Framework (FCL). La libreria di classi è la raccolta di tipi riutilizzabili strettamente integrati con CLR. La libreria di classi di base fornisce classi e tipi che sono utili per eseguire operazioni quotidiane, ad esempio gestire stringhe e tipi primitivi, connessione al database, operazioni di I / O.
mentre la libreria di classi Framework contiene migliaia di classi utilizzate per creare diversi tipi di applicazioni e fornisce tutte le funzionalità ei servizi di base di cui l'applicazione ha bisogno. FCL include classi e servizi per supportare diverse varietà di applicazioni, ad es
Applicazione desktop,
Applicazione Web (ASP.Net, MVC, WCF),
Applicazione mobile,
Applicazione Xbox,
servizi Windows ecc.
Maggiori dettagli su Cos'è BCL / CL in .Net?
La Base Class Library (BCL) è il set di classi principale che funge da API di base del Common Language Runtime. Le classi in mscorlib.dll e alcune delle classi in System.dll e System.core.dll sono considerate parte del BCL. Include le classi in spazi dei nomi come System, System.Diagnostics, System.Globalization, System.Resources, System.Text, System.Runtime.Serialization e System.Data ecc.
La Framework Class Library (FCL) è un superset delle classi BCL e fa riferimento all'intera libreria di classi fornita con .NET Framework. Include un set esteso di librerie, tra cui Windows Form, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation tra gli altri.
Quindi ci sono differenze e non devi usarle in modo intercambiabile.
Il BCL è un sottoinsieme di FCL. BCL rispetta la specifica ECMA per l'infrastruttura del linguaggio comune. Quindi Microsoft ha aggiunto tutta la loro bontà come dati e xml e l'ha chiamata Framework Class Library. Praticamente hanno preso il BCL e sono arrivati a 11!
Quanto segue è citato dal libro "The C # Player's Guide".
Il BCL contiene tutti i tipi incorporati, array, eccezioni, librerie matematiche, I / O di file di base, sicurezza, raccolte, reflection, networking, manipolazione di stringhe, threading e altro. Sebbene non sia una guida perfetta, una regola generale è che qualsiasi spazio dei nomi che inizia con System fa parte del BCL.
Oltre a BCL, ci sono molte altre classi fornite da Microsoft con .NET Framework. In generale, questi elementi aggiuntivi coprono ampie aree funzionali, come l'accesso al database o le interfacce utente grafiche (Windows Form o WPF). L'intera raccolta, incluso BCL, è denominata Framework Class Library o FCL. Nelle discussioni casuali, a volte le persone usano FCL e BCL in modo intercambiabile, il che non è strettamente corretto, ma forse è abbastanza buono per la maggior parte delle cose.