ASP.NET Core 3.0 läuft nur noch auf .NET Core

Microsoft unternimmt einen neuen Versuch, ASP.NET Core vom klassischen .NET Framework abzukoppeln. Innovationen wird man bei Letzterem nicht mehr finden.

In Pocket speichern vorlesen Druckansicht 51 Kommentare lesen
ASP.NET Core 3.0 läuft nur noch auf .NET Core
Lesezeit: 4 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

Microsoft hat verkündet, dass die nächste Hauptversion 3.0 von ASP.NET Core nicht mehr auf dem klassischen .NET "Full" Framework, sondern nur noch auf modularen .NET Core betrieben werden kann. Die gestrige Meldung ist ein Déjà-vu für alle ASP.NET-Core-Nutzer: Bereits am 10. Mai 2017 gab Jeffrey Fritz für das das Redmonder Entwicklungsteam bekannt, dass die nächste Version von ASP.NET Core (damals 2.0) nur noch auf .NET Core laufen werde. Letztes Jahr war Microsoft jedoch nach vielen Kundenprotesten zurückgerudert. ASP.NET Core 2.0, das am 14. August 2017 erschienen ist, läuft genau wie die Versionen 1.x sowie 2.1 und 2.2 auf dem klassischen .NET "Full" Framework 4.x.

Nun aber startet Microsoft einen neuen Versuch, die Brücke zum klassischen .NET Framework für die Webentwickler abzubrechen. Bereits Anfang Oktober hatte Microsoft angekündigt, dass .NET Core und .NET Framework bezüglich des Funktionsumfangs auseinanderlaufen werden ("But moving forward they will contain somewhat different features."). Nun heißt es deutlicher: ".NET Framework will get fewer of the newer platform and language features that come to .NET Core moving forward". Im Klartext: Mit dem .NET Framework kann man zwar seine alten Anwendungen weiterbetreiben, aber die Innovationen gibt es bald nur noch in .NET Core.

Das Entwicklungsteam von ASP.NET Core schließt daraus für sich, dass es nun das klassische .NET Framework als Betriebsplattform für ASP.NET-Core-basierte Webanwendungen und Webdienste in Version 3.0 nicht mehr anbieten will, weil es sonst bei Weiterführung des bisherigen Hybridbetriebs auf .NET Framework und .NET Core entweder Innovationen in .NET Core nicht mehr nutzen könnte oder aber für das .NET Framework andere Lösungen schaffen müsste. ASP.NET Core profitiert insbesondere von den Geschwindigkeitsverbesserungen, die Microsoft in .NET Core umgesetzt hat (vgl. Umstellung von Bing auf .NET Core).

Viele Anwender setzen ASP.NET Core bisher auf dem klassischen .NET Framework statt auf .NET Core ein, weil in .NET Core trotz aller Bemühungen von Microsoft (vgl. Windows Compatability Pack) immer noch einige Funktionen fehlen beziehungsweise nicht alle NuGet-Pakete auf .NET Core laufen. In .NET Core 3.0 kann sich die Situation aber verbessern; dort werden laut Ankündigung von Microsofts diesjähriger Build-Konferenz auch Desktopanwendungen mit Windows Forms und Windows Presentation Foundation (WPF) unterstützt, was gleichzeitig einen Ausbau der Klassenbibliothek bedeutet, die der .NET Standard definiert.

Anwender, die bisher ASP.NET Core auf dem klassischen .NET Framework einsetzen, können noch bis zum 21. August 2021 dabei bleiben. Dann aber endet die Unterstützung für ASP.NET Core 2.1 gemäß der Microsoft-Support-Richtlinien für den Long Term Support (LTS). Die Zeiten, in denen es zehn Jahre Unterstützung für jede .NET-Version gab, sind vorbei. Das bringt einige Entwickler in Schwierigkeiten, siehe etwa den folgenden Kommentar:

"What’s the long term path and technology to use for a company building a 20 developer multi-million cost web site which needs to last at least 7 years for compliance and record retention regulations?"

Weitere Ankündigung in dem Blogeintrag zu ASP.NET Core 3.0 beziehungsweise auf GitHub ist der abermalige Umbau der NuGet-Pakete. So hat Microsoft den neuen objektrelationalen Mapper "Entity Framework Core" in Version 3.0 aus dem ASP.NET Core Shared Framework in 3.0 entfernt und zum reinen NuGet-Paket "degradiert". Microsoft betont aber, dass die Weiterentwicklung und der Support von Entity Framework Core davon unberührt weitergehen.

Bei der JSON-Implementierung hatte Microsoft seit vielen Jahren auf das Open-Source-Paket JSON.NET (alias Newtonsoft.Json) gesetzt. In ASP.NET Core 3.0 will das Unternehmen eine eigene JSON-Implementierung liefern, die auf Basis der neuen Speicheroperationen, die Span<T> ermöglicht, performanter sein soll. Kunden, die bisher auf Newtonsoft.Json gesetzt haben, können aber über ein optionales Integrationspaket dabei bleiben. (ane)