Microsoft hat die offene Plattform .NET 11 veröffentlicht.

Das Unternehmen Microsoft hat die Veröffentlichung der offenen Plattform .NET 11 vorgestellt, die durch die Vereinheitlichung der Produkte .NET Framework, .NET Core und Mono entstanden ist. Auf der Basis von .NET 11 können plattformübergreifende Anwendungen für Browser, Cloud-Systeme, Desktop, IoT-Geräte und mobile Plattformen erstellt werden, wobei einheitliche Bibliotheken und ein gemeinsamer Build-Prozess verwendet werden, unabhängig vom Anwendungstyp. Die Versionen .NET SDK 11, .NET Runtime 11 und ASP.NET Core Runtime 11 sind für Linux, macOS und Windows verfügbar. .NET Desktop Runtime 11 wird ausschließlich für Windows bereitgestellt. Die an dem Projekt beteiligten Entwicklungsarbeiten werden unter der MIT-Lizenz verteilt.

Das .NET umfasst die Runtime mit dem JIT-Compiler RyuJIT, API-Spezifikationen, die Bibliotheken WPF, Windows Forms, WinUI und Entity Framework sowie die Befehlszeilenschnittstelle dotnet, sowie Werkzeuge zur Entwicklung von Mikrodiensten, Bibliotheken, serverseitigen, grafischen und Konsolenanwendungen. Separat wird ein Stack für die Entwicklung von Webanwendungen ASP.NET Core 11.0 bereitgestellt, ORM-Schnittstelle Entity Framework Core 11.0 (Treiber sind unter anderem für SQLite und PostgreSQL verfügbar), die Bibliothek WPF 11 (Windows Presentation Foundation), das Framework Windows Forms 11 zur GUI-Entwicklung, die Plattform Aspire 11 zur Erstellung von Cloud-Native-Anwendungen, das Framework MAUI 11 zur Entwicklung plattformübergreifender Benutzeroberflächen sowie die Versionen der Sprachen C# 15 und F# 11. Unterstützung für .NET 11.0 und C# 15 ist im kostenlosen Code-Editor Visual Studio Code enthalten.
In der Sprache C# 15 wurde das Schlüsselwort union zum Deklarieren eines Typs hinzugefügt, dessen Wert nur einer der zuvor aufgelisteten Typen-Alternativen sein kann. Einer Variable vom union-Typ können Werte eines der erlaubten Typen zugewiesen werden; bei dem Versuch, einen Wert eines nicht angegebenen Typs zuzuweisen, gibt der Compiler einen Fehler aus.

Besonderheiten der neuen 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);

    Für Klassen wurde der Modifikator „closed“ vorgeschlagen, mit dem geschlossene Hierarchien (closed hierarchy) erstellt werden können, bei denen die Vererbung von Basisklassen mit dem Modifikator closed nur innerhalb des Assemblies zulässig ist, in dem sie deklariert sind, wobei die vollständige Menge direkter Nachkommen zur Kompilierungszeit bekannt sein muss. Union-Typen und geschlossene Hierarchien garantieren, dass in Konstruktionen switch alle möglichen Varianten behandelt werden, wodurch der Verzweigungsfall „default“ und die Variable „_“ überflüssig werden.

    Der Modifikator „closed“ ermöglicht es, geschlossene Hierarchien zu schaffen, in denen die Vererbung von einem Basistyp mit dem Modifikator nur innerhalb des eigenen Assemblies erlaubt ist.

    In der neuen Version von C# wurde auch die Unterstützung für den Wechsel von "break"- und "continue"-Ausdrücken zu festgelegten Labels hinzugefügt und die experimentellen Möglichkeiten zur Isolierung in unsafe-Code-Blöcken, die direkt mit dem Speicher arbeiten, erweitert (es wurde die Möglichkeit hinzugefügt, unsafe für einzelne Ausdrücke anzuwenden).

  • Im F# 11 wurde der Speicherbedarf des Compilers reduziert und die Anzahl der Speicherzuweisungen bei der Arbeit mit Sammlungen von FSharp.Core verringert. Es wurde die Möglichkeit hinzugefügt, die parallel ausgeführten asynchronen Arbeiten zu begrenzen, um Überlastungen zu verhindern. Vorläufige Unterstützung für Runtime Async wurde hinzugefügt.
  • Im SDK sind standardmäßig enthalten: Server MSBuild und die vorkompilierte (NativeAOT) Version des CLI-Tools dotnet.
    Die Größe der SDK-Installer für Linux und macOS wurde durch Deduplizierung der Assemblies verkleinert.
  • Der JIT-Compiler wurde optimiert, überflüssige Grenz- und Verzweigungsprüfungen wurden entfernt, die Devirtualisierung verbessert und die Zusammenführung von Operationen in Konstanten erweitert. Im AOT-Compiler wurde ein gemeinsamer Aufrufhandler implementiert, der das Codevolumen reduziert und die Durchsatzrate bei intensivem Zugriff auf Schnittstellen erhöht. Für Linux und macOS wurde die Speicherung von Stack-Traces und Modulinformationen bei Abstürzen implementiert.
  • Ein experimenteller Runtime Async-Mechanismus wurde hinzugefügt, um den vom Compiler generierten Code für die Verarbeitung von async-Operationen durch eine Laufzeitimplementierung zu ersetzen, die das Anhalten und Fortsetzen von asynchronen Operationen auf Laufzeit-Ebene steuert.
  • Im SDK wurde eine Vorlage hinzugefügt: Server MCP zur Integration mit AI-Tools und -Diensten. Für Anwendungen, die AI-Dienste nutzen, wurde ein Satz von Abstraktionen Microsoft.Extensions.AI (MEAI) hinzugefügt. Auf Basis dieser Abstraktionen wurde
    das Microsoft Agent Framework (MAF) entwickelt, das zur Erstellung von AI-Agenten verwendet werden kann.
  • Im API Process wurden die Möglichkeiten zum Starten von Prozessen mit dem Abfangen ihrer Ausgaben und Rückgabecodes sowie zur Kontrolle über erben Deskriptoren erweitert.
  • Im API System.IO.Compression wurde die Unterstützung des Zstandard-Kompressionsalgorithmus hinzugefügt.
  • Neue Stream-Adapter wie ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream und StringStream wurden hinzugefügt.
  • Das Werkzeug dotnetup wurde hinzugefügt, um SDK und Runtime zu installieren und zu aktualisieren.

Quelle: opennet.ru

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster