.NET 5 est la prochaine version majeure de .NET Core après la version 3.1. Nous avons nommé cette nouvelle version .NET 5 au lieu de .NET Core 4 pour deux raisons :
Nous avons ignoré les numéros de version 4.x pour éviter toute confusion avec .NET Framework 4.x.
Nous avons supprimé « Core » du nom pour souligner le fait 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 et nouvelles fonctionnalités suivantes par rapport à .NET Core 3.1 :
.NET 5 et les versions ultérieures sont la principale implémentation de .NET désormais, 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 :
L’implémentation d’origine de Windows Communication Foundation (WCF) n’a été prise en charge que sur Windows. Il existe toutefois un port client disponible à partir de .NET Foundation. C’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 précédemment 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 moniker de framework cible net5.0.
Pour les applications et les bibliothèques .NET 5, le moniker de framework cible net5.0 combine et remplace les monikers de framework cible netcoreapp et netstandard. 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 votre moniker de framework cible netstandard2.0. Pour plus d'informations, consultez .NET Standard.
Mises à jour C#
Les développeurs écrivant des applications .NET 5 auront accès aux dernières version et fonctionnalités C#. .NET 5 est associé à C# 9, ce qui apporte de nombreuses fonctionnalités inédites au langage. Voici quelques points forts :
Enregistrements : types référence avec la sémantique d’égalité basée sur la valeur et mutation non destructrice prise en charge par une nouvelle expression with.
Critères spéciaux relationnels : étend les fonctionnalités de critères spéciaux aux opérateurs relationnels pour les évaluations et expressions comparatives, y compris les modèles logiques, les nouveaux mots clés and, or et 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 :
C#
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 sources
En plus de certaines des nouvelles fonctionnalités C# mises en surbrillance, les générateurs de source s’imposent dans les projets de développement. Les générateurs de source permettent au code exécuté pendant la compilation d’inspecter votre programme et de produire des fichiers supplémentaires compilés avec le reste de votre code.
F# est le langage de programmation fonctionnelle .NET et avec .NET 5, les développeurs ont accès à F# 5. Les chaînes interpolées sont une des nouvelles fonctionnalités. Elles sont semblables aux chaînes interpolées en C#, et même JavaScript.
F#
let name = "David"let age = 36let 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.
F#
let name = "David"let age = 36let message = $"%s{name} is %d{age} years old."
Ce format est semblable à la fonction sprintf qui met en forme une chaîne basée sur des entrées de type sécurisé.
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ôles 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 de System.Text.Json
Il existe de nouvelles fonctionnalités dans et pour System.Text.Json :
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
.NET est une plateforme de développement, gratuite, multiplateforme et open source permettant de créer de nombreux types d’applications différents. Avec .NET, vous pouvez utiliser plusieurs langages, éditeurs et bibliothèques afin de créer pour le web, les appareils mobiles, les postes de travail, les jeux et IoT.