Erste Schritte mit der inkrementellen Migration von ASP.NET zu ASP.NET Core

Für eine große Migration wird empfohlen, eine ASP.NET Core-App einzurichten, die als Proxy an die ursprüngliche .NET Framework-App weiterleitet. Die neue proxyfähige App wird in der folgenden Abbildung gezeigt:

start migrating routes

Informationen dazu, wie dieser Ansatz beim Migrationsprozess hilfreich ist, finden Sie unter Inkrementelle Migration von ASP.NET zu ASP.NET Core. Im weiteren Verlauf dieses Artikels werden die Schritte zur Vorgehensweise bei einer inkrementellen Migration beschrieben.

Einrichten eines neuen ASP.NET Core-Projekts

Weitere Informationen zu ASP.NET-MVC- und Web-API-Apps finden Sie unter Upgrade von ASP.NET MVC und Web-API auf ASP.NET Core MVC. Weitere Informationen zu ASP.NET Web Forms-Apps finden Sie unter Upgrade von ASP.NET Web Forms auf ASP.NET Core.

Upgrade unterstützender Bibliotheken

Wenn Sie über unterstützende Bibliotheken in Ihrer Lösung verfügen, die Sie verwenden müssen, sollten diese nach Möglichkeit auf .NET Standard 2.0 aktualisiert werden. Der Upgrade-Assistent ist ein hierfür hervorragend geeignetes Tool. Wenn Bibliotheken nicht .NET Standard als Ziel verwenden können, können Sie .NET 6 oder höher entweder zusammen mit dem .NET Framework-Ziel im ursprünglichen Projekt oder in einem neuen Projekt neben dem ursprünglichen Ziel verwenden.

Die Adapter können in diesen Bibliotheken verwendet werden, um Unterstützung für System.Web.HttpContext-Verwendung in Klassenbibliotheken zu aktivieren. So aktivieren Sie die System.Web.HttpContext-Verwendung in einer Bibliothek:

  1. Entfernen des Verweises auf System.Web in der Projektdatei
  2. Hinzufügen des Microsoft.AspNetCore.SystemWebAdapters-Pakets
  3. Aktivieren Sie mehrere Ziele, und fügen Sie ein .NET 6-Ziel oder höher hinzu, oder konvertieren Sie das Projekt in .NET Standard 2.0.
  4. Stellen Sie sicher, dass das Zielframework .NET Core unterstützt. Mehrere Ziele können verwendet werden, wenn .NET Standard 2.0 nicht ausreicht.

Für diesen Schritt kann es erforderlich sein, dass sich je nach Projektmappenstruktur eine Reihe von Projekten ändert. Der Upgrade-Assistent kann Ihnen helfen, zu ermitteln, welche Projekte geändert werden müssen, und zahlreiche Schritte im Prozess automatisieren.

Aktivieren von Sitzungsunterstützung

„Sitzung“ ist ein häufig verwendetes Feature von ASP.NET, das sich den Namen mit einem Feature in ASP.NET Core teilt. Die APIs sind jedoch sehr unterschiedlich. Weitere Informationen finden Sie in der Dokumentation zu Sitzungsunterstützung.

Aktivieren von Unterstützung für freigegebene Authentifizierung

Es ist möglich, die Authentifizierung zwischen der ursprünglichen ASP.NET-App und der neuen ASP.NET Core-App mithilfe der Remoteauthentifizierungsfunktion des System.Web-Adapters freizugeben. Diese Funktion ermöglicht es der ASP.NET Core-App, die Authentifizierung in die ASP.NET-App zu verschieben. Weitere Informationen finden Sie in der Dokumentation zur Remote-App-Verbindung und Remoteauthentifizierung.

Allgemeine Hinweise zur Verwendung

Es gibt eine Reihe von Unterschieden zwischen ASP.NET und ASP.NET Core, die die Adapter beim Update unterstützen können. Es gibt jedoch einige Funktionen, die eine Zustimmung erfordern, da sie mit Kosten verbunden sind. Es gibt auch Verhaltensweisen, die nicht angepasst werden können. Eine Liste dieser Verhaltensweisen finden Sie im Verwendungsleitfaden.