Microsoft hat die Open-Source-Plattform .NET 7 veröffentlicht

Microsoft hat eine bedeutende Version der Open-Source-Plattform .NET 7 vorgestellt, die aus der Vereinheitlichung der Produkte .NET Framework, .NET Core und Mono entstanden ist. Mit .NET 7 können plattformübergreifende Anwendungen für Browser, Cloud-Systeme, Desktops, IoT-Geräte und mobile Plattformen entwickelt werden, wobei einheitliche Bibliotheken und ein gemeinsamer Build-Prozess verwendet werden, der nicht vom Anwendungstyp abhängt. Die Builds von .NET SDK 7, .NET Runtime 7 und ASP.NET Core Runtime 7 sind für Linux, macOS und Windows verfügbar. .NET Desktop Runtime 6 wird nur für Windows angeboten. Die damit verbundenen Entwicklungen werden unter der MIT-Lizenz veröffentlicht. Die Unterstützung der .NET 7-Version wird bis zum 14. Mai 2024 für 18 Monate fortgesetzt.

.NET 7 umfasst die CoreCLR-Runtime mit dem JIT-Compiler RyuJIT, Standardbibliotheken, CoreFX-Bibliotheken, WPF, Windows Forms, WinUI, Entity Framework, die Befehlszeilenschnittstelle dotnet sowie Tools zur Entwicklung von Microservices, Bibliotheken, serverseitigen, grafischen und Konsolenanwendungen. Separat veröffentlicht wurden das Entwicklungs-Stack für Webanwendungen ASP.NET Core 7.0, die ORM-Schicht Entity Framework Core 7.0 (einschließlich Treiber für SQLite und PostgreSQL), die WPF-Bibliothek 7 (Windows Presentation Foundation), das Windows Forms 7-Framework zur GUI-Entwicklung, die Orleans 7-Plattform zur Erstellung von Cloud-nativen Anwendungen, das MAUI 7-Framework zur Entwicklung plattformübergreifender Benutzeroberflächen sowie die Versionen der Programmiersprachen C# 11 und F# 7. Die Unterstützung für .NET 7.0 und C# 11 ist im kostenlosen Code-Editor Visual Studio Code integriert.

Besonderheiten der neuen Version:

  • Die Basisbibliothek (BCL, Base Class Library) wurde für die Verwendung in verschiedenen Anwendungsarten, einschließlich Desktop-Anwendungen, Webanwendungen, Cloud-Plattformen, mobilen Anwendungen, Spielen, eingebetteten Programmen und Systemen für maschinelles Lernen, vereinheitlicht. Für die Entwicklung der verschiedenen Anwendungsarten kann ein gemeinsames SDK, Runtime und eine Bibliothek verwendet werden.
  • Es wurde die Möglichkeit geschaffen, die Anwendung über die Zielplattform "net7.0" an die API, die der .NET 7-Version entspricht, zu binden, zum Beispiel mit "net7.0". Für die Bindung an plattformspezifische APIs kann die Plattformart präzisiert werden, zum Beispiel durch die Angabe "net7.0-android".
  • Die Unterstützung der ARM64-Architektur wurde erheblich verbessert, und es wird weiterhin daran gearbeitet, die Leistung von .NET-Anwendungen auf den Architekturen x86 und ARM64 zu parität haben. Im Runtime wurde die Effizienz der Nutzung des Level-3-Caches auf ARM64-Systemen erhöht. LSE-Befehle wurden aktiviert, um den Zugriff auf den Speicher aus parallelen Threads zu trennen, was zu einer Verringerung der Latenz um 45 % führte. Die Bibliothek hat Handler hinzugefügt, welche die vektorischen Typen Vector64, Vector128 und Vector256 verwenden, und die Funktionen EncodeToUtf8 und DecodeFromUtf8 wurden auf der Grundlage der vektorischen Befehle neu geschrieben, was eine Leistungssteigerung von bis zu 60 % ermöglichte (bei den Funktionen NarrowUtf16ToAscii und GetIndexOfFirstNonAsciiChar beträgt die Leistungssteigerung bis zu 35 %). Insgesamt ist die Testgeschwindigkeit auf der ARM64-Plattform um 10-60 % gestiegen.
    Microsoft hat die Open-Source-Plattform .NET 7 veröffentlicht
  • Die Unterstützung für die Linux-Plattform wurde verbessert. Insbesondere wurden .NET 6-Pakete in die offiziellen Repositorys von Ubuntu 22.04 aufgenommen, und ein optimiertes, kompaktes und gebrauchsfertiges Docker-Image für die schnelle Bereitstellung von Containern mit .NET-Anwendungen bereitgestellt.
  • Unterstützung für die 64-Bit-Architektur IBM Power (ppc64le) hinzugefügt.
  • Der .NET Upgrade Assistant wurde eingeführt, um den Übergang älterer Anwendungen auf .NET 6 oder .NET 7 zu erleichtern. Die neue Version bietet erweiterten Support für die Migration von ASP.NET-Anwendungen auf ASP.NET Core, neue Code-Analyse- und -Korrekturwerkzeuge für WinForms, WPF und Klassenbibliotheken sowie Unterstützung für die Analyse ausführbarer Dateien und die Plattform UWP (Universal Windows Platform).
  • Die Möglichkeiten zur Erstellung von Cloud-nativen Anwendungen und PaaS-Plattformen (Plattform als Dienst) wurden erweitert. Es ist nun möglich, Anwendungen in isolierten Containern mithilfe des Befehls „dotnet publish“ zu erstellen.
  • Die Werkzeuge zur Überwachung des Status von Anwendungen und zur Sammlung von Leistungsmetrik wurden erweitert. Neue Ereignisse und Methoden zur Analyse der Aktivität und Leistung von Anwendungen wurden hinzugefügt.
  • In C# 11 wurde die Unterstützung für unverarbeitete Zeichenfolgenliterale hinzugefügt, die Sonderzeichen ohne die Notwendigkeit des Escapings enthalten können (solche Literale werden durch drei Anführungszeichen hervorgehoben). Es wurden generische Schnittstellen für mathematische Funktionen vorgeschlagen und die Möglichkeit eingeführt, statische Elemente in virtuellen Schnittstellen zu definieren, was die Anwendung von generischen Programmiermethoden zur Durchführung mathematischer Operationen ohne genaue Informationen über den Typ der Werte ermöglicht.
  • Die Funktionen der Standardbibliothek wurden erweitert. Es wurde eine API für System.Formats.Tar hinzugefügt, um mit Tar-Archivformaten zu arbeiten. In der Zeitfunktionsbibliothek (TimeStamp, DateTime usw.) wurde die Unterstützung für Mikro- und Nanosekunden hinzugefügt. In System.Text.Json wurde die Möglichkeit zur Steuerung der Serialisierung und Deserialisierung von .NET-Typen implementiert.
  • In der Befehlszeilenoberfläche „dotnet new“ wurde die Unterstützung für die automatische Vervollständigung von Vorlagentypen durch Drücken der Tabulatortaste hinzugefügt.
  • Im .NET SDK wurde die Möglichkeit implementiert, die Verwendung der bereitgestellten Projektvorlagen einzuschränken, zum Beispiel kann definiert werden, in welchen Betriebssystemen eine Vorlage zulässig ist.
  • In NuGet wurde ein zentraler Paketverwaltungsmodus eingeführt, der es ermöglicht, Abhängigkeiten für mehrere Projekte gleichzeitig zu verwalten.
  • Die Leistung des JIT-Compilers wurde verbessert. Die Unterstützung für den OSR-Mechanismus (On Stack Replacement) wurde hinzugefügt, um den Code bereits ausgeführter Methoden zu ändern, wodurch Optimierungen in zeitaufwendige Methoden ohne Warten auf den Abschluss des aktuellen Aufrufs ermöglicht werden. Tests von TechEmpower zeigen eine Leistungssteigerung bei der Verarbeitung der ersten Anfragen um 10-30 %.
  • Die Effizienz der profilorientierten Optimierung (PGO - Profile-guided optimization) wurde verbessert, um während der Programmausführung ermittelte Besonderheiten zu berücksichtigen.
  • Die Unterstützung für die Kompilierung in eigenständige ausführbare Dateien (Native AOT) wurde hinzugefügt. Dabei wird das gesamte Projekt zunächst in den Maschinencode der Zielplattform kompilier, ohne Zwischen-Code zu verwenden und ohne JIT anzuwenden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster