.NET 5.0 ist erschienen

Microsoft hat nun die fertige Version von .NET 5.0 veröffentlicht. heise Developer gibt einen Überblick über die wichtigsten Neuerungen.

In Pocket speichern vorlesen Druckansicht 101 Kommentare lesen

(Bild: Denis Linine/Shutterstock.com)

Lesezeit: 15 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

Das nun im Rahmen der virtuellen .NET Conf 2020 erschienene .NET 5.0 ist technisch der Nachfolger von .NET Core 3.1. Die Versionsnummer 4.0 wird übersprungen und der Begriff "Core" im Namen entfällt wieder. Damit möchte das Microsoft-Marketing ausdrücken, dass sich .NET 5.0 als gemeinsamer Nachfolger der drei bisher getrennten .NET-Varianten .NET Framework, .NET Core und Mono versteht.

.NET – Reise hin zum finalen Release

Tatsächlich ist die Vision "One .NET" aber noch nicht realisiert in .NET 5.0. Während das .NET Framework seit dem 19. April 2019 auf dem Abstellgleis steht, geht die Entwicklung von Mono und der darauf aufbauenden Xamarin-Plattform weiter, denn Microsoft ist mit der Integration noch lange nicht fertig. Immerhin bei Blazor WebAssembly hat der Hersteller die Mono-Klassenbibliothek inzwischen gegen die .NET-5.0-Klassenbibliothek ausgetauscht (s. Abb. 1). Die in Blazor WebAssembly eingesetzte Laufzeitumgebung ist aber dort weiterhin Mono-basiert und verwendet einen Interpreter statt eines Just-in-Time-Compilers. Die angekündigte Integration der Erstellung mobiler Anwendungen für iOS, Android und Windows mit Xamarin (einschließlich Xamarin.Forms) soll nun erst in .NET 6.0 erfolgen.

Der aktuelle Stand der .NET-Familie mit .NET Framework 4.8, .NET 5.0 und Mono 6.12 (Abb. 1) (Stand: 10. November 2020)

(Bild: Holger Schwichtenberg)

Mit .NET 5.0 können Entwickler folgende Anwendungsarten entwickeln:

  • ASP.NET Core 5.0-basierte Webanwendungen mit Server-Side-Rendering oder Single-Page-Apps mit Client-Side-Rendering (mit Blazor)
  • Webservices (REST-basierte WebAPIs und Google RPC)
  • Konsolenanwendungen
  • Hintergrunddienste
  • Desktop-Anwendungen mit Windows Forms und Windows Presentation Foundation (WPF) für Windows ab Version 7
  • Windows Universal Apps und Desktop-Anwendungen für Windows 10 mit der Windows UI Library 3 (Erscheinungstermin geplant für Frühjahr 2021)

Es gibt also weiterhin keine Cross-Platform-GUI-Bibliothek in .NET 5.0. Softwareentwickler, die eine Desktop-Anwendung entwickeln wollen, müssen den Target Framework Moniker "net5.0-windows" anstelle von "net5.0" einsetzen und sind damit auf das Windows-Betriebssystem beschränkt.

Der objektrelationale Mapper Entity Framework Core und das Web-Framework ASP.NET Core haben in .NET 5.0 das "Core" im Namen behalten, um sich von ihren klassischen Vorgängern abzugrenzen. Allerdings hat Microsoft eine neue technische Beschränkung eingeführt. Entity Framework Core 5.0 (die Nummer 4.0 wurde auch hier übersprungen) läuft nur noch auf Plattformen, die .NET Standard 2.1 unterstützt. Das sind .NET 5.0, .NET Core 3.x und Mono ab Version 6.4. Das klassische .NET Framework 4.8 und seine Vorgänger gehören aber leider nicht dazu. Dies bedeutet, dass Entwickler, die bisher Entity Framework Core 1.0 bis 3.1 auf dem klassischen .NET Framework verwendet haben, nun in einer Sackgasse stehen. Support für Entity Framework Core 3.1 gibt es wie für .NET Core 3.1 nur noch bis zum 3. Dezember 2022.

Diese Ausgrenzung des klassischen .NET Framework hatte Microsoft bei ASP.NET Core schon im September 2019 mit Version 3.0 vollzogen. Lediglich ASP.NET Core 1.0 bis 2.2 liefen auch auf dem klassischen .NET Framework.

Mehr zu .NET 5.0

betterCode() präsentiert: .NET 5.0 – Das Online-Event am 3. Dezember 2020

Das können Sie lernen:

  • Von .NET Framework über .NET Core zu .NET 5.0: Was bedeutet das für die Migration, und wie groß sind die Aufwände?
  • Was ist neu in .NET 5.0?
  • Neue Features: ASP.NET Core 5.0 und Blazor 5.0 kennen lernen
  • Die wichtigsten Sprachneuerungen in C# 9
  • Mobile Entwicklung mit .NET 5
  • OR-Mapping mit Entity Framework Core 5.0
  • WinUI 3 als Alternative zu WPF und UWP
  • Ausblick auf .NET 6.0

.NET 5.0 ist im Gegensatz zu .NET Core 3.1 keine LTS-Version (Long-Term Support), sondern wird von Microsoft voraussichtlich nur bis Februar 2022 unterstützt. Das sind drei Monate nach dem Erscheinen von .NET 6.0, das in genau einem Jahr kommen soll. Entwickler, die jetzt auf .NET 5.0 setzen, müssen also schon Ende nächsten Jahres wieder auf .NET 6.0 migrieren. Erst .NET 6.0 wird dann wieder drei Jahre Support bieten.