Microsoft baut an neuem Upgrade-Assistent von .NET Framework zu .NET 5 und .NET 6

Der Dotnet-Doktor Holger Schwichtenberg  –  21 Kommentare

Microsoft startet mit dem .NET Upgrade Assistant einen neuen Versuch eines Werkzeugs, das .NET-Entwickler beim Umstieg vom klassischen .NET Framework 1.0 bis 4.8 auf das im November 2020 veröffentlichte .NET 5 und das im November 2021 kommende .NET 6 unterstützen soll.

Im Rahmen ihres Eröffnungsvortrags auf der virtuellen ".NET Conf 2021 – Focus on Windows" stellten Scott Hunter, Director of Program Management .NET, und Senior Program Manager Olia Gavrysh erstmals das Projekt .NET Upgrade Assistant vor. Es ist genau wie das bisher hierfür verfügbare Werkzeug TTry-Convert ein Kommandozeilenwerkzeug (.NET SDK Global Tool), aber es ist anders als jenes ein interaktiver Assistent (s. Abb. 1), der Entwickler durch den Umstellungsprozess führt. Auch für den Upgrade Assistant gibt es den Quellcode auf GitHub (aktuelle Version 0.2).

Schritte des Upgrade Assistant (Abb. 1)

Try-Convert (aktuelle Version 0.7) konnte weder hinsichtlich des Namens noch seiner Funktionen Vertrauen bei .NET-Entwicklern wecken.

Mehr Funktionen als Try-Convert

Während Try-Convert sich auf die Umstellung des Projektformats auf das neue SDK-Format konzentriert, bietet der Upgrade Assistant bieten gegenüber Try-Convert folgende Zusatzfunktionen:

  • Aktualisierung der NuGet-Pakete
  • Entfernen transitiv abhängiger Pakete, sofern in packages.config vorhanden
  • bei Bedarf Referenzierung des Pakets Microsoft.Windows.Compatibility
  • Unterstützung nicht nur für Desktop-Anwendungen, sondern auch für ASP.NET
  • einfache Änderungen am C#-Code, sofern für Migration notwendig
  • Erweiterbarkeit

In einem ersten Praxistest meldete der Upgrade Assistent zwar Probleme (s. Abb. 2), aber er erzeugte dennoch eine funktionsfähige Anwendung.

Der Upgrade Assistant meldet Probleme beim NuGet-Update (Abb. 2)

Neuer Assistent ist auch nicht allmächtig

Auch der Upgrade-Assistant kann bisher nicht alle .NET-Projektarten umstellen, zum Besipiel für WCF-Services gibt es keine Hilfe. Microsoft warnt auf GitHub klar, dass auch dieses Werkzeug Entwicklern nicht alle Arbeiten der Umstellung abnimmt: "Note that this is not a complete upgrade tool and work will be required after using the tooling to upgrade a project."