Microsoft a publié la plateforme ouverte .NET 11

Microsoft a présenté le lancement de la plateforme ouverte .NET 11, créée grâce à l'unification des produits .NET Framework, .NET Core et Mono. Sur la base de .NET 11, il est possible de créer des applications multiplateformes pour les navigateurs, les systèmes cloud, les ordinateurs de bureau, les dispositifs IoT et les plateformes mobiles, en utilisant des bibliothèques uniques et un processus de compilation commun, sans dépendre du type d'application. Les versions .NET SDK 11, .NET Runtime 11 et ASP.NET Core Runtime 11 sont disponibles pour Linux, macOS et Windows. Le .NET Desktop Runtime 11 est uniquement disponible pour Windows. Les contributions liées au projet sont diffusées sous la licence MIT.

La plateforme .NET comprend un Runtime avec le compilateur JIT RyuJIT, des spécifications API, des bibliothèques WPF, Windows Forms, WinUI et Entity Framework, ainsi qu'une interface en ligne de commande dotnet, ainsi que des outils pour le développement de microservices, de bibliothèques, d'applications serveur, graphiques et console. Un package distinct est disponible pour le développement d'applications web avec ASP.NET Core 11.0, le middleware ORM Entity Framework Core 11.0 (avec des pilotes disponibles, y compris pour SQLite et PostgreSQL), la bibliothèque WPF 11 (Windows Presentation Foundation), le framework Windows Forms 11 pour le développement d'interfaces graphiques, la plateforme Aspire 11 pour le développement d'applications Cloud Native, le framework MAUI 11 pour le développement d'interfaces utilisateur multiplateformes, ainsi que les versions des langages C# 15 et F# 11. La prise en charge de .NET 11.0 et C# 15 est incluse dans l'éditeur de code gratuit Visual Studio Code.
Le langage C# 15 a ajouté le mot clé union pour déclarer un type dont la valeur peut être l'un des types variant préalablement énumérés. Une variable de type union peut se voir attribuer des valeurs de n'importe quel type autorisé, et toute tentative d'attribuer une valeur d'un type non spécifié lors de la déclaration entraînera une erreur de compilation.

Fonctionnalités de la nouvelle version :

  • public record class Cat(string Name);

    public record class Dog(string Name);
    public record class Bird(string Name);
    public union Pet(Cat, Dog, Bird);

    Pour les classes, un modificateur « closed » a été proposé, permettant de créer des hiérarchies fermées (closed hierarchy) dans lesquelles l'héritage d'une classe de base avec le modificateur closed n'est autorisé qu'à l'intérieur de l'assembly où elle est déclarée, et à la compilation, l'ensemble complet des descendants directs est connu. Les types union et les hiérarchies fermées garantissent que dans la construction switch, tous les cas possibles sont traités, permettant ainsi de se passer d'une branche « default » et d'une variable « _ ».

    public record class Bird(string Name);

    La nouvelle version de C# ajoute également le support pour les passages d'instructions « break » et « continue » vers les étiquettes et élargit les capacités expérimentales pour l'isolation dans les blocs de code unsafe, fonctionnant directement avec la mémoire (ajout de la possibilité d'appliquer unsafe à des expressions individuelles).

  • Dans F# 11, la consommation de mémoire par le compilateur a été réduite et le nombre d'opérations d'allocation de mémoire lors de l'utilisation de collections FSharp.Core a été diminué. Une possibilité de limiter le nombre de travaux asynchrones exécutés en parallèle a été ajoutée pour éviter la surcharge. Un support préliminaire pour Runtime Async a été intégré.
  • Dans le SDK, les options sont activées par défaut serveur MSBuild et la version précompilée (NativeAOT) de l'outil CLI dotnet.
    La taille des installateurs SDK pour Linux et macOS a été réduite grâce à la déduplication des packages.
  • L'optimisation du compilateur JIT a été réalisée, supprimant les contrôles de limites et de branches redondants, améliorant la dévirtualisation et élargissant la conversion d'opérations en constantes. Un gestionnaire d'appels commun a été intégré dans le compilateur AOT, permettant de réduire la taille du code et d'augmenter la bande passante lors d'accès intensifs aux interfaces. La sauvegarde des traces de pile et des informations sur les modules en cas de plantage a été mise en œuvre pour Linux et macOS.
  • Un mécanisme expérimental Runtime Async a été ajouté pour remplacer le code de traitement des opérations asynchrones généré par le compilateur par une implementation gérant la suspension et la reprise des opérations asynchrones au niveau du runtime.
  • Un modèle a été ajouté au SDK de serveurs MCP pour l'intégration avec les outils et services d'IA. Pour les applications utilisant des services d'IA, un ensemble d'abstractions Microsoft.Extensions.AI (MEAI) a été ajouté. Sur la base de ces abstractions, le
    Microsoft Agent Framework (MAF) a été formé, qui peut être utilisé pour créer des agents IA.
  • Dans l'API Process, les capacités de lancement de processus avec interception de leur sortie et des codes de fin, ainsi que le contrôle des descripteurs hérités ont été étendues.
  • Dans l'API System.IO.Compression, le support de l'algorithme de compression Zstandard a été ajouté.
  • De nouveaux adaptateurs de flux ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream et StringStream ont été ajoutés.
  • L'outil dotnetup a été ajouté pour l'installation et la mise à jour du SDK et du runtime.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster