Partager via


Nouveautés de .NET 5

.NET 5 est la prochaine version majeure de .NET Core après la version 3.1. Cette version a été nommée .NET 5 au lieu de .NET Core 4 pour deux raisons :

  • Les numéros de version 4.x ont été ignorés pour éviter toute confusion avec .NET Framework 4.x.
  • « Core » a été supprimé du nom pour souligner qu’il s’agit de l’implémentation principale de .NET à l’avenir. .NET 5 prend en charge plus de types d’applications et plus de plateformes que .NET Core ou .NET Framework.

ASP.NET Core 5.0 est basé sur .NET 5, mais conserve le nom « Core » pour éviter de le confondre avec ASP.NET MVC 5. De même, Entity Framework Core 5.0 conserve le nom « Core » pour éviter de le confondre avec Entity Framework 5 et 6.

.NET 5 inclut les améliorations suivantes et les nouvelles fonctionnalités par rapport à .NET Core 3.1 :

.NET 5 ne remplace pas .NET Framework

.NET 5 et versions ultérieures sont la principale implémentation de .NET à l’avenir, mais .NET Framework 4.x est toujours pris en charge. Il n’existe aucun plan de portage des technologies suivantes de .NET Framework vers .NET 5, mais il existe des alternatives dans .NET :

Technologie Alternative recommandée
Formulaires web ASP.NET Core Blazor ou Razor Pages
Windows Workflow (WF) Elsa-Workflows

Windows Communication Foundation

L’implémentation d’origine de windows Communication Foundation (WCF) n’a été prise en charge que sur Windows. Toutefois, il existe un port client disponible à partir de .NET Foundation. Il est entièrement open source, multiplateforme et pris en charge par Microsoft. Les packages NuGet de base sont répertoriés ci-dessous :

Les composants serveur qui complètent les bibliothèques clientes mentionnées ci-dessus sont disponibles via CoreWCF. Depuis avril 2022, CoreWCF est officiellement pris en charge par Microsoft. Toutefois, vous pouvez envisager gRPC comme alternative à WCF.

.NET 5 ne remplace pas .NET Standard

Le développement de nouvelles applications peut spécifier le moniker de framework cible net5.0 pour tous les types de projets, y compris les bibliothèques de classes. Le partage de code entre les charges de travail .NET 5 est simplifié : tout ce dont vous avez besoin est le TFM net5.0.

Pour les applications et bibliothèques .NET 5, le module TFM net5.0 combine et remplace les netcoreapp et netstandard TFMs. Toutefois, si vous envisagez de partager du code entre les charges de travail .NET Framework, .NET Core et .NET 5, vous pouvez le faire en spécifiant netstandard2.0 en tant que TFM. Pour plus d’informations, consultez .NET Standard.

Mises à jour C#

Les développeurs écrivant des applications .NET 5 auront accès à la dernière version et fonctionnalités C#. .NET 5 est associé à C# 9, ce qui apporte de nombreuses nouvelles fonctionnalités au langage. Voici quelques points forts :

  • Enregistrements : types de référence avec des sémantiques d’égalité basées sur la valeur et une mutation non destructive pris en charge par une nouvelle expression with.

  • Correspondance de modèles relationnels: Étend les capacités de correspondance de modèles aux opérateurs relationnels pour les évaluations et les expressions comparatives, y compris les modèles logiques - nouveaux mots-clés and, oret not.

  • instructions de niveau supérieur: comme moyen d’accélérer l’adoption et l’apprentissage de C#, la méthode Main peut être omise et une application aussi simple que l’exemple suivant est valide :

    System.Console.Write("Hello world!");
    
  • Pointeurs de fonction : constructions de langage qui exposent les opcodes de langage intermédiaire (IL) suivants : ldftn et calli.

Pour plus d’informations sur les fonctionnalités C# 9 disponibles, consultez Nouveautés de C# 9.

Générateurs de code source

En plus de certaines des nouvelles fonctionnalités C# mises en surbrillance, les générateurs sources font leur chemin dans les projets de développement. Les générateurs sources permettent au code qui s’exécute pendant la compilation d’inspecter votre programme et de produire des fichiers supplémentaires compilés avec le reste de votre code.

Pour plus d’informations sur les générateurs sources, consultez Présentation des générateurs sources C# et exemples de générateur de source C#.

Mises à jour F#

F# est le langage de programmation fonctionnelle .NET et avec .NET 5, les développeurs ont accès à F# 5. L’une des nouvelles fonctionnalités est des chaînes interpolées, similaires aux chaînes interpolées en C#, et même JavaScript.

let name = "David"
let age = 36
let message = $"{name} is {age} years old."

Outre l’interpolation de chaîne de base, il existe une interpolation typée. Avec l’interpolation typée, un type donné doit correspondre au spécificateur de format.

let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."

Ce format est similaire à la fonction sprintf qui met en forme une chaîne basée sur des entrées de type sécurisé.

Pour plus d’informations, consultez Nouveautés de F# 5.

Mises à jour Visual Basic

Il n’existe aucune nouvelle fonctionnalité de langage pour Visual Basic dans .NET 5. Toutefois, avec .NET 5, la prise en charge de Visual Basic est étendue à :

Description paramètre dotnet new
Application console console
Bibliothèque de classes classlib
Application WPF wpf
Bibliothèque de classes WPF wpflib
Bibliothèque de contrôles personnalisés WPF wpfcustomcontrollib
Bibliothèque de contrôle utilisateur WPF wpfusercontrollib
Application Windows Forms (WinForms) winforms
Bibliothèque de classes Windows Forms (WinForms) winformslib
Projet de test unitaire mstest
Projet de test NUnit 3 nunit
Élément de test NUnit 3 nunit-test
Projet de test xUnit xunit

Pour plus d’informations sur les modèles de projet à partir de l’interface CLI .NET, consultez dotnet new.

Nouvelles fonctionnalités System.Text.Json

Il existe de nouvelles fonctionnalités dans et pour system.Text.Json:

Voir aussi