.NET 5.0 ist erschienen

Seite 4: Weitere Neuerungen

Inhaltsverzeichnis

.NET 5.0 bietet auch Überarbeitungen für den in .NET Core 3.0 neu eingeführten JSON-Serialisierer System.Text.Json. Er kann nun wie sein Vorgänger JSON.NET zirkuläre Referenzen im Objektmodell ignorieren. Zudem gibt es im Namensraum System.Net.Http.Json. neue Erweiterungsmethoden (GetFromJsonAsync(), PostAsJsonAsync(), PutAsJsonAsync() und ReadFromJsonAsync()) für die Serialisierung und Deserialisierung in der Klasse HttpClient.

Die Formatierung von Ausgaben des ConsoleFormatter ist jetzt anpassbar. Ein neuer JSON Console Logger liefert Ausgaben im JSON-Format. Die Bibliothek System.DirectoryServices.Protocols, die die Version 3.0 des Lightweight Directory Access Protocol (LDAP) und die Version 2.0 der Directory Services Markup Language (DSML) realisiert, läuft nun auch auf Linux.

Auch die Steuerelemente des schon vor vielen Jahren totgesagten Windows Forms verbessert der Hersteller weiter. Es gibt ein neues Steuerelement TaskDialog. Beim ListView-Steuerelement können Entwickler nun einzelne Gruppen zusammenklappen. Zudem ist die Unterstützung für Windows-Forms-Anwendungen, die nur einmal laufen dürfen (Single Instance), jetzt auch in der modernen .NET-Welt verfügbar.

Das .NET 5.0 Software Development Kit (SDK) und drei Varianten der Laufzeitumgebung (für Konsolenanwendungen, für Desktop-Anwendungen und Web) liefert Microsoft kostenfrei und ohne Registrierung über die Website. SDK und Runtime installieren sich parallel zu vorhandenen Versionen von .NET Core und .NET Framework. Der Kommandozeilenbefehl dotnet –version gibt Auskunft über die im aktuellen Verzeichnis aktive SDK-Version.

Für die .NET 5.0-Entwicklung notwendig ist Visual Studio 2019 Version 16.8, das ebenfalls heute die Preview-Phase verlassen hat. Eine Entwicklung mit einer aktuellen Version von Visual Studio Code und zur Projektart passenden Erweiterungen ist ebenfalls möglich. Die Firma Jet Brains will volle Unterstützung für .NET 5.0 erst in die kommende Version 2020.3 integrieren.

Auch ohne die verschobene Vereinheitlichung hat .NET 5.0 einige Verbesserungen zu bieten, die Entwicklern als Anreiz dienen können, auf .NET 5.0 umzusteigen. Der Umstieg von .NET Core 3.x auf .NET 5.0 ist problemlos. Im Gegensatz zum Versionswechsel von .NET Core 2.x auf 3.x gibt es dieses Mal nur sehr wenige Breaking Changes.

Der Weg von klassischem .NET Framework 4.x auf .NET 5.0 ist auch nach den Verbesserungen in .NET 5.0 weiterhin ein nicht zu unterschätzender Aufwand, dessen Größe stark von der Anwendungsart, der eingesetzten Softwarearchitektur und dem Programmierstil abhängt. Grundsätzlich zeigt die Erfahrung des Autors von vielen bereits erfolgten Migrationen, dass sich 2-Tier-Desktop-Anwendungen deutlich einfacher umstellen lassen als N-Tier-Anwendungen und Webanwendungen. Das liegt insbesondere daran, dass einige in diesen Bereichen häufig eingesetzte Techniken wie Windows Communication Foundation (WCF) und ASP.NET Webforms in .NET 5.0 nicht mehr vorhanden sind beziehungswesie es deutliche Unterschiede zwischen dem alten ASP.NET MVC und ASP.NET WebAPI und dem neuen ASP.NET Core MVC und ASP.NET Core WebAPI gibt.

Dr. Holger Schwichtenberg
ist Chief Technology Expert bei der MAXIMAGO-Softwareentwicklung. Mit dem Expertenteam bei www.IT-Visions.de bietet er zudem Beratung und Schulungen im Umfeld von Microsoft-, Java- und Web-Techniken an. Er ist Autor zahlreicher Bücher, u.a. "ASP.NET Core Blazor: Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio".

(ane)