Seit November steht das neue .NET Release 5.0 für Anwender und Entwickler zur Verfügung. Es handelt sich dabei um ein Major Release – einschließlich ASP.NET Core, EF Core, C# 9 und F# 5 – mit einer breiten Palette an neuen Funktionen und überzeugenden Verbesserungen. Es wird bereits aktiv von Teams bei Microsoft und anderen Unternehmen in der Produktion sowie für Leistungstests eingesetzt. Die Endprodukte der Teams zeigen zudem sehr gute Ergebnisse, was Leistungssteigerung und/oder die Möglichkeiten zur Senkung der Hosting-Kosten für Webanwendungen angeht. Wir haben hier eine Übersicht über das -NET Release 5.0.

Das .NET Release 5.0 ist da: Eine Übersicht

Nach den ersten Erfahrungen der Entwicklergemeinde bietet .NET 5.0 einen erheblichen Mehrwert ohne einen großen Aufwand für das Upgrade. Somit ist es eine gute Wahl für Ihr nächstes Projekt und unabhängig davon, ein unkompliziertes Upgrade einer Ihrer früheren .NET Core-Versionen. 

Die Downloads von .NET 5.0 für Windows, MacOS und Linux, für x86, x64, Arm32 und Arm64 sowie weitere Informationen stehen Ihnen hier zur Verfügung:

Für Visual Studio-Benutzer benötigen Sie Visual Studio 16.8 oder höher (und die neueste Version von Visual Studio für Mac), um .NET 5.0 unter Windows oder MacOS verwenden zu können. Die C#-Erweiterung für Visual Studio Code unterstützt bereits .NET 5.0 und C# 9.

NET 5.0 ist zudem die erste Version im Zuge der .NET-Vereinheitlichung von Microsoft. .NET 5.0 wurde entwickelt, um es einer viel größeren Gruppe von Entwicklern zu ermöglichen, ihren .NET Framework-Code und ihre Anwendungen auf .NET 5.0 zu migrieren. So können z.B.  Xamarin-Entwickler die vereinheitlichte .NET-Plattform verwenden, wenn .NET 6.0 veröffentlicht wird. Mehr dazu erfahren Sie im Laufe unserer Artikel-Serie.

Mit .NET 5.0 wird entsprechend die fünfte große .NET-Version als Open-Source-Projekt veröffentlicht. Es gibt jetzt eine große Mischung aus Einzelpersonen sowie kleinen und großen Unternehmen (einschließlich der Unternehmenssponsoren der .NET Foundation), die als große Gemeinschaft an verschiedenen Aspekten von .NET in der dotnet org auf GitHub zusammenarbeiten.

Bei Microsoft wurde .NET 5.0 bereits im Mai 2019 eingeführt und damals sogar das Veröffentlichungsdatum für November 2020 festgelegt. Neue Releases sind für jeden November geplant, Sie können mit 6.0 also im November 2021 rechnen.

NET 5.0 Höhepunkte

.NET Release 5.0 enthält viele essentielle Verbesserungen, hier eine Übersicht:

.NET Release 5.0 Übersicht
  • .NET 5.0 ist bereits kampferprobt, indem es monatelang bei dot.net und Bing.com (zur Version) gehostet wird.
  • Die Leistung wurde über viele Komponenten hinweg stark verbessert und wird ausführlich unter Leistungsverbesserungen in .NET 5.0, Arm64-Leistung in .NET 5.0 und gRPC beschrieben.
  • C# 9 und F# 5 bieten neue Sprachverbesserungen wie Top-Level-Programming und einen record-Datensatztypen für C# 9, während F# 5 interaktive Programmierung und einen Leistungsschub für die funktionale Programmierung auf .NET bietet.
  • NET-Bibliotheken haben zudem die Leistung für Json-Serialisierung, reguläre Ausdrücke und HTTP (HTTP 1.1, HTTP/2) verbessert. Außerdem sind sie jetzt vollständig annotiert, um die Löschbarkeit zu gewährleisten.
  • Die P95-Latenzzeit ist aufgrund von Verfeinerungen in der GC, abgestufter Kompilierung und anderen Bereichen gesunken.
  • Die Optionen für die Anwendungsbereitstellung sind besser, mit der Veröffentlichung von ClickOnce-Client-Anwendungen, Anwendungen mit nur einer Datei, reduzierter Container-Bildgröße und dem Hinzufügen von Server Core-Container-Bildern.
  • Der Plattformumfang wurde um Windows Arm64 und WebAssembly erweitert.

Es existieren viele Beispiele für die .NET 5.0-Vorschaubeiträge. Werfen Sie doch einen Blick in die .NET 5.0-Beispiele, um mehr über die neuen C# 9- und Bibliotheksfunktionen zu erfahren.

Plattform- und Microsoft-Support

NET 5.0 besitzt eine nahezu identische Plattformunterstützungsmatrix wie NET Core 3.1 für Windows, MacOS und Linux. Wenn Sie .NET Core 3.1 auf einem unterstützten Betriebssystem verwenden, sollten Sie .NET 5.0 größtenteils auf derselben Betriebssystemversion einsetzen können. Die bedeutendste Ergänzung für .NET 5.0 ist Windows Arm64.

.NET 5.0 ist ein “Current Release”. Das bedeutet, dass es nach der Veröffentlichung von .NET 6.0 noch drei Monate lang unterstützt wird. Infolgedessen erwarten wir die Unterstützung von .NET 5.0 bis Mitte Februar 2022. NET 6.0 wird eine LTS-Version sein und wie NET Core 3.1 drei Jahre lang unterstützt werden.

Vision einer einheitlichen Plattform

Letztes Jahr verkündete Microsoft die Vision eines vereinheitlichten .NET-Stacks und Ökosystems. Der Vorteil für Sie besteht darin, dass Sie einen einzigen Satz von APIs, Sprachen und Tools verwenden können, um eine breite Palette von Anwendungstypen, einschließlich Mobil-, Cloud-, Desktop- und IoT-Anwendungen, anzusprechen. Sie werden erkennen, dass Sie mit .NET bereits heute eine breite Palette von Plattformen ansprechen können. Die Tools und APIs sind jedoch nicht immer die gleichen (z. B. für Web und Mobile) oder werden nicht immer zur gleichen Zeit veröffentlicht.

Als Teil von .NET 5.0 und 6.0 verschmilzt .NET zu einer einzigen Produkterfahrung und ermöglicht es Ihnen gleichzeitig, nur die Teile der .NET-Plattform auszuwählen, die Sie verwenden möchten. Wenn Sie Mobile und nicht WebAssembly verwenden möchten, müssen Sie die WebAssembly-Tools nicht herunterladen und umgekehrt. Dasselbe gilt für ASP.NET Core und WPF. Sie haben auch die noch einfachere Möglichkeit, alle .NET-Tools sowie Build- und Laufzeitpakete, die Sie benötigen, über die Befehlszeile einzubinden. Zudem können Sie die .NET-Plattformkomponenten über Paketmanager (einschließlich der Verwendung vorhandener Paketmanager) herunterladen. Der schnelle Aufbau einer Entwicklungsumgebung und CI/CD ist dabei der größte Nutzen.

Zu Anfang beabsichtigte Microsoft dabei, die gesamte Vereinheitlichungsvision mit .NET 5.0 zu verwirklichen, aber im Zuge der globalen COVID-19-Pandemie mussten sich die Pläne an die sich ändernden Bedürfnisse der Kunden angepasst werden. Deshalb arbeitet Microsoft mit Teams aus Unternehmen auf der ganzen Welt zusammen, die Hilfe dabei benötigten, die Einführung von Cloud-Technologien zu beschleunigen. Auch sie mussten sich an die sich ändernden Bedürfnisse ihrer Kunden anpassen. Daher wurde die Vision über zwei Versionen hinweg umgesetzt.

Umsetzung neuer Strategien

Der erste Schritt auf dem Weg zu dieser Vision war daher die Konsolidierung von .NET-Repos, einschließlich einer großen Teilmenge von Mono. Ein einziges Repo für Laufzeit und Bibliotheken für .NET ist eine Voraussetzung dafür, überall das gleiche Produkt liefern zu können. Es hilft auch bei der Durchführung umfassender Änderungen, die sich auf die Laufzeit und die Bibliotheken auswirken, wo es früher Repo-Grenzen gab. Einige Leute waren besorgt, dass ein großes Repo schwieriger zu verwalten sein würde. Das hat sich aber nicht bewahrheitet.

In der Version .NET 5.0 ist Blazor das beste Beispiel für die Nutzung der Vorteile von Repo-Konsolidierung und .NET-Vereinheitlichung. Die Laufzeit und die Bibliotheken für Blazor WebAssembly werden jetzt aus dem konsolidierten Dotnet/Laufzeit-Repo erstellt. Das bedeutet, dass Blazor WebAssembly und Blazor auf dem Server z. B. für List<T> exakt denselben Code verwenden. Dies war bei Blazor vor .NET 5.0 nicht der Fall. Der Ansatz, der für Blazor WebAssembly gewählt wurde, ist dem Ansatz sehr ähnlich, der auch mit Xamarin in .NET 6.0 verfolgt werden wird.

.NET Release 5.0 Übersicht

Portierung von .NET Framework

Das .NET Framework bleibt ein unterstütztes Microsoft-Produkt und wird auch weiterhin mit jeder neuen Version von Windows unterstützt werden. Letztes Jahr kam die Ankündigung, dass das Hinzufügen neuer Features zum .NET Framework eingestellt und das Hinzufügen von .NET Framework-APIs zu .NET Core abgeschlossen wurde. Das bedeutet, dass jetzt ein guter Zeitpunkt ist, den Umzug Ihrer .NET Framework-Anwendungen hin zu .NET Core in Erwägung zu ziehen. Für .NET Framework-Client-Entwickler werden Windows Forms und WPF mit .NET 5.0 unterstützt.

Viele Entwicklern bezeugen zudem, dass die Portierung von .NET Framework unkompliziert ist. Für .NET Framework-Server-Entwickler müssen Sie ASP.NET Core übernehmen, um .NET 5.0 zu verwenden. Für Web Forms-Entwickler nimmt Microsoft an, dass Blazor eine ähnliche Entwicklungserfahrung mit einer effizienten und viel moderneren Implementierung bietet. WCF-Server- und Workflow-Benutzer können sich an Community-Projekten orientieren, die diese Frameworks unterstützen. Das Dokument zur Portierung von .NET Framework auf .NET Core ist ein guter Startpunkt. Abgesehen davon ist es ein guter Ansatz, Ihre Anwendung auf .NET Framework zu belassen, wenn Sie damit bisher zufrieden waren.

Das Windows-Team arbeitet währenddessen an Project Reunion als nächstem Schritt in die Zukunft für UWP und verwandte Technologien. Durch die Zusammenarbeit mit dem Reunion-Team wurde sichergestellt, dass .NET 5.0 und spätere Versionen gut mit WinUI und WebView2 zusammenspielen. Das Project Reunion Repo ist der beste Ort, um über den Fortschritt auf dem Laufenden zu bleiben.

Das war eine Übersicht über den .NET Release 5.0. Lesen Sie im nächsten Teil unserer Serie über Neuerungen in den Sprachen C# 9 und F# 5 wie Top-Level-Programming, den neuen Record-Datensatztyp und logische Patterns.

Haben Sie Fragen zum .NET Release 5.0 oder dieser Übersicht? Unsere Experten beraten Sie dahingehend gerne weiter!