.NET 5.0 ist fast vollständig

Die nun erschienene achte Preview-Version von .NET 5.0 soll eigentlich alle wesentlichen Funktionen enthalten, manches kommt dann aber wohl doch später.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 11 Beiträge

(Bild: Donatas Dabravolskas/Shutterstock.com)

Von
  • Dr. Holger Schwichtenberg

Microsoft hat die mittlerweile achte Preview-Version von .NET 5.0 herausgegeben. Damit sollten eigentlich alle wesentlichen Funktionen bereitstehen – was aber wohl nicht in allen Bereichen der Fall ist.

Im Anleitungstext des aktuellen Blogeintrags bezeichnet Microsoft die achte Preview als "Feature Complete". Wer den Beitrag im Detail liest, findet jedoch Verweise auf Funktionen, die erst in der nun anstehenden Release-Candidate-Phase erscheinen sollen, zum Beispiel eine abgespeckte Version des aus dem klassischen .NET-Framework migrierten Click-Once-Deployment. Auch die Abstraktion von N:M-Zwischentabellen in Entity Framework Core ist auf die RC-Phase verschoben.

.NET 5.0 enthält nun die Version 9.0 der Programmiersprache C# mit Records als kompakten Datenstrukturen, Erweiterungen beim Pattern Matching und vielen anderen Neuerungen. Microsoft hat nun rund 80 Prozent der APIs in .NET 5.0 mit Annotationen für die in C# 8.0 eingeführten Nullable Reference Types versehen.

.NET – Reise hin zum finalen Release

Zur Problemdiagnose können Entwickler jetzt auch Dump-Dateien von .NET-Prozessen auf macOS erstellen und Linux-Dumps in Windows auswerten. Die Formatierung von Ausgaben des ConsoleFormatter ist nun anpassbar. Ein neuer JSON Console Logger liefert Ausgaben im JSON-Format. Mit dem neuen Kommandozeilenwerkzeug dotnet-runtimeinfo kann man sich Basisinformationen über das Betriebssystem und die aktuelle .NET-Version liefern lassen.

Blazor WebAssembly bietet nun auch das bisher sehr vermisste Lazy Loading von Komponenten, wodurch sich die Startzeit deutlich verringern kann. Razor Components können jeweils eigene CSS-Dateien besitzen, die nur für die jeweilige Komponente gelten. Als neue Steuerelemente liefert Microsoft InputRadio und InputRadioGroup. Entwickler können nun auch ohne JavaScript-Einsatz den Fokus auf ein Steuerelement sowie die Elemente im <head> des HTML-Dokuments setzen. Die seit langem im Preview-Status verweilenden Zusatzdienste ProtectedLocalStorage und ProtectedSessionStorage gehören nun offiziell zum Blazor-Produkt.

Auch für klassische ASP.NET-Techniken wie MVC und Razor Pages gibt es Verbesserungen, zum Beispiel die Unterstützung für die C# 9.0 Records bei Model Bindung und Validation sowie eine automatische Aktualisierung des Browsers mit dotnet watch.

Entity Framework Core beherrscht nun wieder das Table-per-Type-Mapping, mit dem jede Klasse in der Vererbungshierarchie eine eigene Datenbanktabelle erhält. Bisher setzte Microsoft auf die Zusammenfassung einer ganzen Hierarchie in einer Tabelle, was die Umstellung vom klassischen Entity Framework sehr erschwerte.

Zudem ist erstmals möglich, dass der OR-Mapper bei einer einzigen Entitätsklasse für das Lesen der Daten eine Sicht, aber für das Schreiben eine Tabelle nutzt. Table-Valued-Functions lassen sich jetzt nicht nur mit FromSql() verwenden, sondern auch direkt auf .NET-Methoden abbilden.

Die in der sechsten Preview eingeführten Split Queries können Entwickler nicht nur pro Abfrage mit AsSplitQuery(), sondern auch zentral mit UseQuerySplittingBehavior() festlegen. Für die Schemamigration in SQLite-Datenbanken ist nun auch ein Sichern des Inhalts und Neuanlegen der Tabelle als Strategie möglich.

Die endgültige Version von .NET 5.0 soll am 10. November 2020 im Rahmen der virtuellen .NET Conf erscheinen. Weitere Informationen zur achten Preview finden sich in der Blog-Ankündigung.

(ane)