Microsoft startet die Preview-Reihe für .NET 8.0

Zweieinhalb Monate nach der stabilen Version 7 bietet die erste Vorschau von .NET 8 einige Neuerungen bei ASP.NET Core und Entity Framework Core.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen

(Bild: Shutterstock)

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

Microsoft hat die Vorschau von .NET 8.0 veröffentlicht, das im November als Long-Term-Support-Release (LTS) erscheinen soll. Der in .NET 7.0 eingeführte Ahead-of-Time-Compiler (AOT) läuft in .NET 8.0 Preview nun auch auf macOS und erzeugt unter Windows und Linux Kompilate, die bis zu fünfzig Prozent kleiner sind als in Version 7.0.

Der JSON-Serializer System.Text.Json erhält verschiedene Erweiterungen, darunter Einstellungen zur Handhabung fehlender Informationen bei der Deserialisierung von JSON in Objekten sowie die Namenskonventionen KebabCaseLower, KebabCaseUpper, SnakeCaseLower und SnakeCaseUpper als Alternative zum Camel Casing.

Der in ASP.NET Core integrierte Webserver Kestrel bietet ab der aktuellen Version die Unterstützung für Named Pipes für die Inter-Prozess-Kommunikation. Die dritte Version des HTTP-Protokolls (http/3) ist seit .NET 6.0 experimentell enthalten und seit .NET 7.0 stabil. In .NET 8.0 ist http/3 in Kestrel im Standard aktiviert.

.NET 8.0 bietet bei Blazor WebAssembly neuerdings das Debugging im Firefox-Browser an. Bisher war das nur mit Chrome möglich. Eine Herausforderung von Blazor WebAssembly sind bisher einige Firewalls und Antivirusprogramme, die das Herunterladen von DLLs in den Browser unterbinden. Dem begegnet Microsoft mit einem neuen Download-Format namens WEBCIL.

Der objektrelationale Mapper (ORM) Entity Framework Core 8 erlaubt, die bereits in .NET 6.0 eingeführten Klassen DateOnly und TimeOnly auf die SQL-Server-Datentypen date und time abzubilden. Die Ergebnismengen von Abfragen, die nicht in LINQ, sondern in SQL geschrieben sind, lassen sich mit SqlQuery() und SqlQueryRaw() auch auf Klassen abbilden, die nicht Teil des ORM-Modells in der Kontextklasse sind. Das automatische Nachladen verbundener Objekte (Lazy Loading) funktioniert neuerdings auch in Kombination mit AsNoTracking(), um die Hauptobjekte zu laden.

Neben den in Preview 1 enthaltenen Funktionen hat Microsoft im Rahmen von Blogeinträgen zu .NET 8.0 und Entity Framework 8.0 weitere Funktionen, die in kommenden Vorschauversionen erscheinen sollen, angekündigt. Dazu gehört die Ausweitung des Ahead-of-Timer-Compilers auf ADO.NET, Entity Framework Core und ASP.NET Minimal WebAPIs.

Geplant ist auch, Blazor Server und Blazor WebAssembly zu einem Model Blazor United zusammenzuführen. Damit soll es möglich sein, eine Webanwendung zunächst mit Blazor Server auf dem Webserver zu rendern und dann auf Blazor WebAssembly zu wechseln, sobald der Browser die dafür notwendigen Dateien geladen hat. Auch die Mischung von Blazor Server und Blazor WebAssembly in einer Seite soll erlaubt sein.

Das in .NET 7.0 als experimentelles Steuerelement eingeführte QuickGrid soll produktionsreif werden. Microsoft will zudem das bisher geschwätzige BlazorPack-Format komprimieren, das Blazor Server für die Aktualisierungsnachrichten vom Webserver an den Browser verwendet.

Der schon für .NET 7.0 geplante schnellere Datenbanktreiber für Microsoft SQL Server (Codename Woodstar) soll in .NET 8.0 erscheinen. Das in .NET 7.0 eingeführte JSON-Mapping auf relationale Datenbankspalten soll nicht nur mit SQL Server, sondern auch mit SQLite-Datenbanken funktionieren. Anbieter anderer Datenbanktreiber will Microsoft bei der Implementierung unterstützen. Als Alternative zu den Kommandozeilenwerkzeugen für Entity Framework Core will Microsoft mehr Funktionen in der grafischen Benutzeroberflächen von Visual Studio anbieten. Zudem soll der bisher rudimentäre Editor für T4-Vorlagen ausgebaut werden.

.NET 8.0 soll im November 2023 erscheinen und als LTS-Release Updates und Unterstützung für drei Jahre erhalten.

(rme)