.NET 5.0 (.NET 5)

Eintrag zuletzt aktualisiert am: 21.05.2019

 Fachbücher zum Thema .NET 5.0 (.NET 5)

.NET 5.0 wird im November 2020 erscheinen als gemeinsamer Nachfolger von .NET Framework, .NET Core und Mono.

Erste Erwähnung: 6.5.2019, BUILD 2019
Erste Preview-Version: offen
Erscheinungstermin: November 2020

Technisch gesehen, hinsichtlich der Werkzeugkette und des agilen und offenen Github-basierten Entwicklungsmodell wird .NET 5.0 der Nachfolger von .NET Core sein. Die Klassenbibliothek folgt weiterhin dem .NET Standard [https://www.heise.de/developer/meldung/NET-Standard-2-0-ist-fertig-und-NET-Core-2-0-auf-der-Zielgeraden-3796910.html].

Microsoft wird die meisten, aber nicht alle Funktionen aus Mono und .NET Framework in .NET 5.0 übernehmen (siehe Abbildung 1). Aus Mono fließt u.a. die Lauffähigkeit auf Android und iOS sowie die Ahead-of-Time (AOT)-Kompilierung als Alternative zu der bisherigen Just-in-Time (JIT)-Kompilierung ein. Der Entwickler soll zukünftig zwischen JIT und AOT wählen können, wobei AOT kleinere Deploymentpakete und schnellere Startzeiten bietet, aber naturgemäß eben keine plattformunabhängigen Pakete. Aus dem klassischen .NET Framework werden in .NET 5.0 noch einige Klassen einfließen, wobei die Anzahl eher gering sein wird, weil Microsoft schon in .NET Core 2.x viele Klassen übernommen (vgl. Veröffentlichung des Windows Compatibility Pack im November 2017 [https://www.heise.de/developer/meldung/Microsoft-veroeffentlicht-Windows-Compatibility-Pack-fuer-NET-Core-3892367.html]) hat und in .NET Core 3.0 zahlreiche weitere Klassen übernehmen wird.

.NET Core 3.0 wird - wie schon auf der BUILD-Konferenz des letzten Jahres angekündigt [https://www.heise.de/developer/meldung/Build-2018-Microsoft-kuendigt-Windows-Desktopprogrammierung-fuer-NET-Core-3-0-an-4044476.html] - die GUI-Frameworks Windows Presentation (WPF) und Windows Forms umfassen und damit erstmals klassische Desktop-Programmierung in .NET Core ermöglich, allerdings nicht plattformunabhängig, sondern nur auf Windows (ab Version 7 bzw. Server 2012 R2).

Nach der Version 3.1 verschwindet der Name "Core" dann aber wieder von der Bildfläche (genau wie bei PowerShell Core 6.x und Windows PowerShell 5.1, deren Nachfolger PowerShell 7.0 sein wird [https://www.heise.de/developer/meldung/Microsoft-vereinheitlich-PowerShell-Core-und-Windows-PowerShell-4365620.html]). Microsoft hat dabei im Sinn, die Kommunikation zu vereinfachen und insbesondere neuen Softwareentwicklern den Einstieg zu erleichtern. Zu den geplanten Vereinfachungen gehört auch der deterministische jährlich Erscheinungstermin für Hauptversionen (siehe Abbildung 2), sodass sich die Softwareentwicklungsabteilungen besser auf den Versionswechsel einstellen können. Jede zweite Hauptversion (mit geraden Nummern) soll den LTS-Status erhalten. Zwischenversionen mit Fehlerbehebungen (Änderungen an der dritten Stelle der Versionsnummer) und auch neue Funktionen (Änderungen an der zweiten Stelle der Versionsnummer) soll es zwischendurch weiterhin bei Bedarf, folglich unregelmäßig, geben.