Microsoft a publié une release candidate de .NET 6, la prochaine génération de la plateforme de développement logiciel de l'éditeur qui achèvera l'unification des parties de .NET commencée dans .NET 5. Il s'agit de la première des deux versions candidates prévues pour la mise en service. Au cours du mois dernier, l'équipe de développement s'est concentrée sur les améliorations de la qualité qui résolvent les problèmes fonctionnels ou de performance dans les nouvelles fonctionnalités ou les régressions dans les fonctionnalités existantes. La version finale de production de .NET 6, prévue pour novembre, devrait apporter des améliorations aux applications mobiles, locales et dans le cloud.   

.NET 6 intégrera des fonctionnalités pour Android, iOS et MacOS qui se trouvent actuellement dans la plateforme mobile open source .NET Xamarin. Microsoft étend également l'outil de développement d'applications Web clientes Blazor, afin que les développeurs puissent créer une application client hybride combinant des interfaces utilisateur Web et natives pour les ordinateurs de bureau et les mobiles. Blazor WebAssembly a été la première plateforme unifiée livrable dans .NET 5. Publié en novembre 2020, .NET 5 a marqué le début de l'unification et a jeté les bases pour que les développeurs Xamarin puissent utiliser la plateforme .NET unifiée à l'arrivée de .NET 6.0. L'unification de .NET crée un seul .NET à partir des technologies distinctes .NET Core, .NET Framework et Xamarin/Mono. Certaines parties de .NET Framework avaient déjà été transférées vers .NET Core tandis que .NET 5 a commencé à combiner .NET Core et Mono/Xamarin sur une bibliothèque de classes de base et une chaîne d'outils.

Les fonctionnalités fondamentales

Dévoilée le 14 septembre, .NET 6 RC1 peut être téléchargée sur dotnet.microsoft.com. Elle a été précédée de sept versions préliminaires. La RC1 a été testée avec Visual Studio 2022 Preview 4 et est prise en charge par celui-ci. Dans un bulletin sur la RC, Microsoft a présenté les fonctionnalités fondamentales de .NET 6 :  

Source build, un scénario et une infrastructure en cours de développement avec Red Hat qui vise à satisfaire les règles de compilation des distributions Linux couramment utilisées, telles que Debian et Fedora. De plus, source build est destinée à permettre aux contributeurs de .NET Core de construire un SDK .NET Core avec des changements coordonnés dans plusieurs dépôts. Cette technologie est destinée à résoudre les problèmes courants que les développeurs rencontrent lorsqu'ils essaient de construire l'ensemble du SDK .NET Core à partir de la source. 

L'optimisation guidée par le profil, qui repose sur l'hypothèse que le code exécuté dans le cadre d'un démarrage est souvent uniforme et que des performances de plus haut niveau peuvent être obtenues en l'exploitant. PGO peut compiler le code de démarrage avec une meilleure qualité, réduire la taille du binaire et réorganiser les binaires de l'application afin que le code utilisé au démarrage soit situé près du début du fichier. 

Dynamic PGO, une image miroir de PGO, intégrée au compilateur juste-à-temps RyuJIT .NET. Les performances sont améliorées. 

HTTP/3, présenté en avant-première dans .NET 6, résout les problèmes de fonctionnalités et de performance des versions précédentes de HTTP. 

- CrossGen 2, pour une précompilation anticipée. 

- La technologie Intel Control Enforcement Technology (CET), disponible dans certains nouveaux processeurs Intel et AMD pour se protéger contre les types courants d'attaques impliquant le détournement du flux de contrôle. 

W^X, une mesure d'atténuation de la sécurité pour bloquer les chemins d'attaque en interdisant aux pages de mémoire d'être accessibles en écriture et exécutables en même temps.