Et de 7. Microsoft a publié la septième version de sa plateforme de développement .NET 9.  Outre les améliorations apportées à C# pour les auteurs d'API, le runtime .NET, le SDK et d'autres domaines ont aussi été améliorés. Accessible à partir de dotnet.microsoft.com, cette preview a été dévoilé le 15 août. La version de production .NET 9 devrait être disponible en novembre, soit environ un an après la version actuelle .NET 8.

Evolution sur C# et sur le runtime de .NET

Sur C#, le langage s’enrichit d’un nouvel attribut appelé System.Runtime.CompilerServices.OverloadResolutionPriority, que les auteurs d'API peuvent utiliser pour ajuster la priorité relative des surcharges au sein d'un seul type. « La fonction est destinée à orienter les consommateurs d'API vers des API spécifiques, même si ces API sont normalement considérées comme ambiguës ou ne sont pas choisies par les règles de résolution des surcharges C# », a déclaré Microsoft.

Pour le runtime .NET, Microsoft a introduit une prise en charge expérimentale de la Scalable Vector Extension (SVE), un jeu d'instructions SIMD pour les processeurs ARM64. Toujours pour le runtime, cette version introduit une optimisation du compilateur appelée « réduction de la force » pour les boucles. Selon les notes de version, avec cette capacité, l'opération de boucle est remplacée par une opération plus rapide et logiquement équivalente. À noter également que dans .NET 9 Preview 7, l'adaptation dynamique à la taille des applications (Dynamic Adaptation to Application Sizes, DATAS) est désormais activée par défaut pour le runtime.

Amélioration du SDK et des plusieurs frameworks

Concernant le SDK, le dernier aperçu améliore la publication de conteneurs pour les registres non sécurisés et propose des variables d'environnement plus cohérentes pour la publication de conteneurs. L'aperçu contient aussi la première version des sets de workload, une fonctionnalité du SDK qui propose aux utilisateurs de mieux contrôler les charges de travail qu'ils installent et la cadence de changement de ces charges de travail installées. Parmi les améliorations apportées à la bibliothèque, la suppression de BinaryFormatter est terminée. Le désérialiseur a été supprimé parce qu'il était considéré comme dangereux. L'aperçu introduit aussi la classe X509CertificateLoader, qui remplace un certain nombre de méthodes de « reniflage de contenu » par un design dit « une méthode, un objectif ». Autre changement : les API System.IO.Compression utilisent désormais zlb-ng, ce qui permet un traitement plus efficace et plus cohérent sur un plus grand nombre de matériels et de systèmes d'exploitation.

La preview 7 améliore par ailleurs le framework web ASP.NET Core et celui d'interface utilisateur multiplateforme .NET MAUI (Multi-platform UI). Concernant ASP.NET Core, la compilation native AOT (ahead-of-time) apporte des avantages de performance dans les applications qui utilisent SignalR pour les communications web en temps réel. Les API d'enregistrement des transformateurs de Microsoft.AspNetCore.OpenAPI ont aussi été améliorées. Autre évolution de .NET MAUI : l’hébergement par HybridWebView d’un contenu HTML/JavaScript/CSS arbitraire dans une WebView et la communication entre le code dans la WebView (JavaScript) et le code qui héberge la WebView (C#/.NET). Enfin, des améliorations dans l’intégration native permettent d'intégrer des contrôles MAUI .NET dans des applications .NET pour Android/iOS/MacCatalyst ou WinUI, au lieu d'une application MAUI .NET complète. Avec la Preview 7, il n'est plus nécessaire d'utiliser le package de compatibilité.

Pour la preview 7 de .NET 9, l’objectif de Microsoft est d’améliorer les performances d'exécution et de simplifier l'intégration de l'intelligence artificielle dans les applications. La preview 6 de .NET 9, présenté le 15 juillet, mettait davantage l'accent sur des améliorations de présentation du code.