Microsoft .NET
Der .NET Upgrade Assistant ist ein leistungsstarkes Tool, das als Visual Studio-Erweiterung und Befehlszeilenwerkzeug fungiert. Es unterstützt Entwickler dabei, Anwendungen von älteren .NET-Versionen auf die neuesten Versionen zu aktualisieren. Das Tool bietet umfassende Unterstützung für die Aktualisierung von Microsoft-Bibliotheken und -Frameworks. Microsoft hat eine neue Funktion vorgestellt: die Unterstützung für Drittanbieter-APIs und Paketkarten. Diese Neuerung ermöglicht es, veraltete Drittanbieter-APIs und -Pakete während des Upgrade-Prozesses durch ihre neueren Gegenstücke zu ersetzen, was den Übergang zu neuen Plattformen wie UWP zu WinUI oder Xamarin Forms zu .NET MAUI vereinfacht.
Was ist die Unterstützung für Drittanbieter-APIs und Paketkarten?
Beim Aktualisieren älterer Anwendungen auf die neueste .NET-Version besteht eine der grössten Herausforderungen darin, die entsprechenden APIs und NuGet-Pakete von Drittanbieter-Bibliotheken zu finden. Diese Aufgabe wird noch komplexer, wenn auch ein Plattformwechsel, wie von UWP zu WinUI oder von Xamarin Forms zu .NET MAUI, erfolgt. Beispielsweise muss das Namespace Xamarin.Forms durch Microsoft.Maui und/oder Microsoft.Maui.Controls ersetzt werden. Zusätzlich zu den Namespaces müssen oft auch Typen und Methoden angepasst werden.Der .NET Upgrade Assistant bietet bereits umfangreiche Mappings für von Microsoft verwaltete Bibliotheken. Jetzt unterstützt der .NET Upgrade Assistant auch Drittanbieter-API- und Paketkarten. Diese Funktion ermöglicht es jedem, Mappings für seine eigenen Bibliotheken zu erstellen, die Informationen über alte und neue APIs und Pakete enthalten. Der Upgrade Assistant verwendet diese Mappings zusätzlich zu den integrierten Mappings, um Code- und Projektänderungen während eines Upgrades durchzuführen.
Erstellen von API- und Paketkarten
Um Drittanbieter-API-Karten für den .NET Upgrade Assistant zu erstellen, sind folgende Schritte notwendig:
  1. Lesen Sie die README.md im Upgrade-Assistant-Github-Repo.
  2. Klonen Sie das Repository und öffnen Sie UpgradeAssistantExtensions.sln in Visual Studio.
  3. Erstellen Sie einen neuen Ordner für Ihr Unternehmen mit einem Unterordner für Ihre Bibliothek unter Mappings im Projekt UpgradeAssistant.Mappings.
  4. Fügen Sie *.apimap.json und *.packagemap.json Dateien für Ihre Bibliothek hinzu (verwenden Sie die Beispiele oder vorhandene Mappings als Ausgangspunkt).
  5. Erstellen Sie das NuGet-Paket für die Mappings durch Ausführen des Pack-Befehls.
Dies erzeugt ein Microsoft.UpgradeAssistant.Mappings NuGet-Paket im Ausgabeordner des Projekts.
Testen der API- und Paketkarten
Um das NuGet-Paket mit den erstellten Mappings zu testen, gehen Sie wie folgt vor:
  1. Stellen Sie sicher, dass Sie die neueste Version der .NET Upgrade Assistant-Erweiterung aus dem Visual Studio Marketplace haben.
  2. Erstellen/Öffnen Sie ein Testprojekt, das die in Ihren neuen Mappings angegebenen APIs und Pakete verwendet.
  3. Richten Sie einen lokalen Feed-Ordner ein, z.B. C:\LocalFeed.
  4. Fügen Sie das zuvor erstellte Microsoft.UpgradeAssistant.Mappings-Paket dem lokalen Feed hinzu, indem Sie folgenden Befehl im Ausgabeordner ausführen: `nuget add Microsoft.UpgradeAssistant.Mappings.1.0.0.nupkg -source C:\LocalFeed`
  5. Erstellen Sie eine Nuget.config-Datei mit folgendem Inhalt im Lösungsordner des Testprojekts:
“`<?xml version=”1.0″ encoding=”utf-8″?><configuration><packageSources><add key=”Local Feed” value=”C:\LocalFeed” /></packageSources></configuration>“`
  1. Führen Sie den Upgrade Assistant aus, um das Testprojekt zu aktualisieren.
Die APIs und Pakete sollten gemäss den erstellten Mappings aktualisiert werden.
Was passiert als nächstes?
Sobald Sie bestätigt haben, dass Ihre neuen Mappings wie erwartet funktionieren, empfehlen wir Ihnen, einen Pull-Request im Upgrade-Assistant-Github-Repo zu erstellen. Ihre Änderungen werden geprüft, und sobald sie zusammengeführt wurden, wird die CI/CD-Pipeline ein neues Microsoft.UpgradeAssistant.Mappings-Paket erstellen und auf nuget.org veröffentlichen. Sobald es veröffentlicht ist, werden bestehende Installationen des .NET Upgrade Assistant die neuen Mappings bei Upgrades einschliessen.
Manuelles Upgrade auf .NET MAUI?
Falls Sie auf .NET MAUI manuell upgraden, sollten Sie wissen, dass die .NET Upgrade Assistant-Erweiterung einen C#-Analyser und Code-Fixer für Xamarin.Forms- zu .NET MAUI-Upgrades enthält. Dieser kann Ihnen helfen, manuell kopierten Code von Xamarin.Forms-Projekten in .NET MAUI-Projekte zu aktualisieren. Der Analyser sucht nach Xamarin.Forms-Namespaces und die Lightbulb-Code-Korrektur wendet Codeänderungen basierend auf den integrierten Mappings sowie den neuen Drittanbieter-API-Mappings an.
Zusammenfassung
Die Unterstützung für Drittanbieter-APIs und Paketkarten erweitert die Möglichkeiten des .NET Upgrade Assistant erheblich, indem sie Projekte mit Abhängigkeiten von Drittanbieter-Bibliotheken leichter aktualisierbar macht.