.NET 5 è la prossima principale versione di .NET Core, dopo la 3.1. Questa nuova versione è stata denominata .NET 5 anziché .NET Core 4 per due motivi:
Sono stati ignorati i numeri di versione 4.x per evitare confusione con .NET Framework 4.x.
È stato eliminato "Core" dal nome per sottolineare che si tratta dell'implementazione principale di .NET in futuro. .NET 5 supporta più tipi di app e più piattaforme rispetto a .NET Core o .NET Framework.
ASP.NET Core 5.0 si basa su .NET 5, ma mantiene il nome "Core" per evitare confusione con ASP.NET MVC 5. Analogamente, Entity Framework Core 5.0 mantiene il nome "Core" per evitare confusione con Entity Framework 5 e 6.
.NET 5 include i miglioramenti seguenti e le nuove funzionalità rispetto a .NET Core 3.1:
.NET 5 e versioni successive sono l'implementazione principale di .NET in futuro, ma .NET Framework 4.x è ancora supportato. Non sono previsti piani per convertire le tecnologie seguenti da .NET Framework a .NET 5, ma esistono alternative in .NET:
L'implementazione originale di Windows Communication Foundation (WCF) è stata supportata solo in Windows. Tuttavia, è disponibile una porta client da .NET Foundation. È completamente open source, multipiattaforma e supportato da Microsoft. I pacchetti NuGet principali sono elencati di seguito:
I componenti server che completano le librerie client indicate sopra sono disponibili tramite CoreWCF. A partire da aprile 2022, CoreWCF è ufficialmente supportato da Microsoft. Tuttavia, per un'alternativa a WCF, prendere in considerazione gRPC.
.NET 5 non sostituisce .NET Standard
Il nuovo sviluppo di applicazioni può specificare il net5.0 moniker framework di destinazione (TFM) per tutti i tipi di progetto, incluse le librerie di classi. La condivisione del codice tra carichi di lavoro .NET 5 è semplificata: tutto ciò che serve è il net5.0 TFM.
Per le app e le librerie .NET 5, il TFM net5.0 combina e sostituisce i TFM netcoreapp e netstandard . Tuttavia, se si prevede di condividere il codice tra carichi di lavoro .NET Framework, .NET Core e .NET 5, è possibile farlo specificando netstandard2.0 come TFM. Per altre informazioni, vedere .NET Standard.
Aggiornamenti di C#
Gli sviluppatori che scrivono app .NET 5 avranno accesso alla versione e alle funzionalità C# più recenti. .NET 5 è associato a C# 9, che offre molte nuove funzionalità al linguaggio. In primo piano:
Record: tipi di riferimento con semantica di uguaglianza basata su valore e mutazioni non distruttive supportate da una nuova espressione with.
Criteri relazionali di ricerca: estende le funzionalità di corrispondenza dei criteri agli operatori relazionali per valutazioni e espressioni comparative, inclusi i modelli logici - nuove parole chiave and, or e not.
Istruzioni di primo livello: come mezzo per accelerare l'adozione e l'apprendimento di C#, il metodo Main può essere omesso e un'applicazione semplice come l'esempio seguente è valida:
C#
System.Console.Write("Hello world!");
Puntatori a funzione: costrutti di linguaggio che espongono i codici operativo del linguaggio intermedio (IL) seguenti: ldftn e calli.
Per altre informazioni sulle funzionalità di C# 9, vedere Novità di C# 9.
Generatori di origine
Oltre ad alcune delle nuove funzionalità C# evidenziate, i generatori di origine stanno facendo il loro modo nei progetti di sviluppo. I generatori di origine consentono l'esecuzione del codice durante la compilazione per controllare il programma e produrre file aggiuntivi compilati insieme al resto del codice.
F# è il linguaggio di programmazione funzionale .NET e con .NET 5 gli sviluppatori hanno accesso a F# 5. Una delle nuove funzionalità è costituita da stringhe interpolate, simili alle stringhe interpolate in C# e anche a JavaScript.
F#
let name = "David"let age = 36let message = $"{name} is {age} years old."
Oltre all'interpolazione di stringhe di base, è disponibile l'interpolazione tipizzata. Con l'interpolazione tipizzata, un determinato tipo deve corrispondere all'identificatore di formato.
F#
let name = "David"let age = 36let message = $"%s{name} is %d{age} years old."
Questo formato è simile alla sprintf funzione che formatta una stringa in base agli input indipendenti dai tipi.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
.NET è una piattaforma per sviluppatori gratuita, multipiattaforma e open source che consente di compilare molti tipi diversi di applicazione. Con .NET è possibile usare più linguaggi, editor e librerie per creare applicazioni per Web, dispositivi mobili, desktop, giochi e IoT.