.NET Standard è un insieme formaleSpecifica API .NET, previsto per essere disponibile in tutte le implementazioni .NET. La motivazione dietro l'introduzione dello standard .NET era migliorare la coerenza nell'ecosistema .NET. ECMA 335 continua a stabilire uniformità per il comportamento di implementazione di .NET, ma non esiste una specifica simile per le librerie di classe base .NET (BCLs) per le implementazioni delle librerie .NET.
.NET Standard consente i seguenti scenari chiave:
- Definisci un insieme unificato e indipendente dal carico di lavoro di API BCL per tutte le implementazioni .NET che vuoi implementare.
- Permette agli sviluppatori di costruire librerie portatili che possono essere utilizzate in varie implementazioni .NET tramite lo stesso insieme di API.
- Riduce o addirittura elimina la compilazione condizionata del codice sorgente condiviso per gli aspetti API .NET (solo API OS).
Diverse implementazioni di .NET mirano a una versione specifica dello Standard .NET. Ogni implementazione .NET annuncia la versione più alta dello standard .NET che supporta, una dichiarazione che significa che supporta anche le versioni precedenti. Ad esempio, il .NET Framework 4.6 implementa .NET Standard 1.3. Cioè, espone tutte le API definite nelle versioni da 1.0 a 1.3 dello standard .NET. Analogamente, .NET Framework 4.6.1 implementa .NET Standard 1.4, mentre .NET Core 1.0 implementa .NET Standard 1.6.
Il rapporto tra le implementazioni di .NET Standard e .NET è lo stesso che tra le specifiche HTML e i browser. La seconda è la realizzazione della prima.
Pertanto, .NET Framework, Xarain e .NET Core, ciascuno dei framework gestiti, implementa . NET Standard. Man mano che l'industria informatica continua a introdurre nuovi hardware e sistemi operativi, ne appariranno nuovi in futuro. Framework di hosting .NET. Lo standard informa gli sviluppatori di applicazioni che possono affidarsi a un insieme costante di API.
Ognuno. Le versioni .NET corrispondono a una versione standard .NET.
L'API è coerente e il trasferimento delle applicazioni su diverse implementazioni gestite e la fornitura di strumenti sarà più semplice.
.NET Standard è definito come un pacchetto NuGet separato, perché tutti i file di . Le implementazioni .NET devono essere supportate
.NET Standard vs Librerie portatili
La libreria portatile non fa la stessa cosa?
Le classi portatili utilizzano API comuni supportate da più piattaforme. Di conseguenza, più piattaforme sono supportate, meno API sono disponibili e, per una particolare combinazione di piattaforme, può essere difficile sapere esattamente quali API siano supportate. Per una nuova piattaforma, la PCL esistente deve essere ricompilata. PCL richiede inoltre a Microsoft di creare un nuovo fork di implementazione del framework per ciascuna piattaforma. A causa di. NET Standard identifica un'API, non un'implementazione, quindi non è necessario ricompilare l'applicazione. Qualsiasi nuovo rilascio . Le implementazioni .NET implementano le librerie necessarie. Le applicazioni non devono essere ricompilate per funzionare su nuove piattaforme hardware o sistemi operativi. Teoricamente, un'eccezione NotSupportedException potrebbe essere rilevata durante la chiamata dell'API, ma dovrebbe essere raro.
Supporto per l'implementazione .NET
La tabella seguente elenca le versioni minime della piattaforma che supportano ogni versione dello standard .NET. Ciò significa che le versioni successive delle piattaforme elencate supportano anche le corrispondenti versioni .NET Standard. Ad esempio, .NET Core 2.2 supporta .NET Standard 2.0 e versioni precedenti.
|