.NET Core 3.1 ist ein ungewöhnliches Release

Der Dotnet-Doktor  –  0 Kommentare

Fast keine neuen Funktionen, im Wesentlichen nur Bugfixes und sogar Breaking Changes, die es in einer Version mit Änderung an der zweiten Stelle der Versionsnummer gar nicht geben dürfte.

Am 3. Dezember2019 ist .NET Core 3.1 (wie üblich einschließlich Entity Framework Core 3.1 und ASP.NET Core 3.1) als Nachfolger von .NET Core 3.0 erschienen. .NET Core 3.0 wurde am 23. September 2019 veröffentlicht. Der Abstand der beiden Versionen war also sehr kurz; er wäre sogar noch kürzer gewesen, denn .NET Core 3.1 hatte Microsoft im Mai 2019 schon für "November 2019" angekündigt.

Die 3.1er-Versionen sind ein recht ungewöhnliches Release, denn:

  1. Es gibt hier nur sehr wenige neue Funktionen.
  2. Das Release enthält primär Bugfixes für Schwächen aus Version 3.0, darunter Schwächen, deren Behebung man für Version 3.0 schon hätte erwarten können.
  3. Einige Funktionen aus Version 3.0 sind entfallen, was Breaking Changes bedeutet, die es laut dem Semantic Versioning, dem Microsoft folgen will, nur in einer Hauptversion hätte geben dürfen.
Entity Framework Core läuft wieder auf dem klassischen .NET Framework

Größte Neuerung ist, dass Entity Framework Core 3.1 nun wieder auf .NET Standard 2.0 basiert und damit auf dem klassischen .NET Framework läuft. Die Version 3.0 erforderte .NET Standard 2.1 und hatte damit alle klassischen .NET-Benutzer ausgeschlossen. Die Programmiersprache C++/CLI gibt es nun auch für .NET Core. Darüberhinaus gibt es neue Optionen für die Ereignisbindung sowie eine verbesserte Fehlerbehandlung in ASP.NET Core Blazor.

Windows Forms-Steuerelemente entfallen

Die entfallenen Funktionen sind einige Windows-Forms-Steuerelemente (DataGrid, ToolBar, ContextMenu, Menu, MainMenu, MenuItem) sowie zugehörige APIs. Dies sind ältere Steuerelemente, für die Microsoft in .NET Framework 2.0 im Jahr 2005 (!) Alternativen eingebaut hatte (DataGridView, ToolStrip, ToolStripButton, ContextMenuStrip, ToolStripDropDown, MenuStrip und MenuStrip). Diese älteren Steuerelemente gab es in .NET Core 3.0 (.NET Core 3.0 ist die erste Version von .NET Core, die Desktop-Anwendungen mit WPF und Windows Forms auf Windows betreiben kann). Microsoft hat nun überraschend entschieden, die oben genannten Steuerelemente ab Version 3.1 nicht mehr zu unterstützen.

Support für .NET Core 3.0 endet schon im März

.NET Core 3.1 bekommt von Microsoft Long-term Support, was drei Jahre bedeutet. Den für das klassische .NET Framework geltenden 10-Jahres-Support gibt es leider nicht mehr.

Der Support für .NET Core 3.0 (inkl. ASP.NET Core und Entity Framework Core) endet schon am 3. März 2020, denn dies war ein "Current"-Release (auch "Maintainance Release") genannt, für das es nur drei Monate nach dem Erscheinen der folgenden Long-Term-Support-Version noch Updates gibt.

Dies bedeutet: Wenn Sie noch nicht von .NET Core 1.x/2.x auf Version 3.0 umgestiegen sind, dann sollten Sie das auch nicht mehr tun, sondern direkt Version 3.1 nutzen. Wenn Sie Version 3.0 im Einsatz haben, müssen Sie dringend umstellen!