View a markdown version of this page

Portierung von Code auf UI-Ebene - AWS Transformieren

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Portierung von Code auf UI-Ebene

AWS Transform kann die UI-Ebene von ASP.NET Websites auf UI-Frameworks portieren, die mit ASP.NET Core kompatibel sind und unter Linux ausgeführt werden können. Die folgenden Transformationen sind verfügbar:

  • Portierung der MVC Razor-Benutzeroberfläche

  • Portierung von Web Forms auf Blazor UI

Portierung der MVC Razor-Benutzeroberfläche

ASP.NET MVC-Projekte mit Razor Views-Benutzeroberfläche können auf MVC Razor Views auf ASP.NET Core portiert werden, wobei dasselbe UI-Framework verwendet wird. Obwohl die Razor-Ansichten zwischen ASP.NET und ASP.NET Core ähnlich sind, gibt es Unterschiede, die eine Portierung von Codeänderungen erfordern:

  • ASP.NET MVC Razor Views verwenden den System.Web.Mvc Namespace und sind eng mit dem.NET Framework verknüpft.

  • ASP.NET Core Razor Views sind modular aufgebaut und verfügen über eine verbesserte Dependency Microsoft.AspNetCore.Mvc Injection.

  • ASP.NET Core verfügt über neue Funktionen wie Tag Helpers und View Components.

AWS Transform erkennt und portiert häufig auftretende inkompatible Komponenten und Konstrukte in Razor Views.

Portierung von Web Forms auf Blazor UI

ASP.NET Die Web Forms-Benutzeroberfläche hat kein Gegenstück auf ASP.NET Core. AWS Transform kann den Code der Web Forms-Benutzeroberflächenebene auf Blazor Server auf ASP.NET Core portieren. Der Code der UI-Ebene wird für das Ziel-UI-Framework neu geschrieben.

Um die Portierung von Web Forms auf Blazor UI zu aktivieren oder zu deaktivieren, aktivieren oder deaktivieren Sie die Jobeinstellung UI ASP.NET Web Forms to Blazor transformieren.

Einzelheiten zur Transformation

Ihr Web Forms-Projekt wird in ein Blazor-Projekt mit serverseitigem Hosting konvertiert. Die folgenden Projekt- und Dateiänderungen werden während der Transformation vorgenommen:

Zuordnung der Dateitransformation
From Bis Description
*.aspx, *.ascx *.razor .aspx-Seiten und benutzerdefinierte .ascx-Steuerelemente werden zu .razor-Dateien
Web.config appsettings.json Web.config Einstellungen werden zu appsettings.json-Einstellungen
Global.asax Program.cs Global.asax Program.cs Code wird Code
*.master *layout.razor Masterdateien werden zu Layout.razor-Dateien

Post-transformation Struktur des Projekts

Nach der Transformation befinden sich die transformierten Dateien an den folgenden Projektspeicherorten:

  • Komponentenordner: Alle Razor-Komponenten (*.razor) werden in einem Komponentenordner platziert, der auf derselben Ebene wie die CSPROJ-Datei des Projekts erstellt wurde.

  • Seitenzuordnung: Web Forms-Seiten (*.aspx) werden in die Ordnerstruktur konvertiert. Components/Pages

  • Zuordnung von Steuerelementen: Web Forms-Steuerelemente (*.ascx) werden direkt im Ordner Components platziert.

Einschränkungen und nicht unterstützte Funktionen

Die folgenden Funktionen werden derzeit nicht unterstützt. Wenn Ihre Workloads diese Funktionen verwenden, muss dieser Code nach der Transformation manuell oder mit einem KI-Codebegleiter portiert werden.

  • .svc-Dateien (Servicedateien)

  • .ashx-Dateien (generische Handlerdateien)

  • Dienstreferenzen und Webreferenzen (Reference.map-, reference.cs-, .wsdl-Dateien)

  • Mischungen von .aspx-Dateien (Web Forms) und .cshtml-Dateien (Razor) im selben Projekt

  • Abhängigkeiten von Projekttypen, die von Transform for .NET noch nicht unterstützt werden AWS

  • Third-party Benutzeroberfläche des Anbieters libraries/controls

  • Webseitenprojekte

Nur Webanwendungsprojekte (die eine CSPROJ-Datei enthalten) werden unterstützt. Informationen zum Konvertieren eines Website-Projekts in ein Webanwendungsprojekt finden Sie in der Microsoft-Anleitung Konvertieren eines Website-Projekts in ein Webanwendungsprojekt.