

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.

# Transformieren von .NET-Anwendungen mit Amazon Q Developer
<a name="transform-dotnet-IDE"></a>

Amazon Q Developer kann Ihre Windows-basierten .NET-Anwendungen über einen durch generative KI gestützten Faktorwechsel-Workflow auf Linux-kompatible plattformübergreifende .NET-Anwendungen portieren. Amazon Q hilft Ihnen auch dabei, veraltete Versionen plattformübergreifender .NET-Anwendungen auf neuere Versionen zu aktualisieren. 

Zum Transformieren einer .NET-Lösung oder eines Projekts analysiert Amazon Q Ihre Codebasis, ermittelt die erforderlichen Aktualisierungen für die Portierung Ihrer Anwendung und generiert vor Beginn der Transformation einen Transformationsplan. Während dieser Analyse unterteilt Amazon Q Ihre .NET-Lösung oder Ihr Projekt in Codegruppen, die Sie im Transformationsplan einsehen können. Eine *Codegruppe* ist ein Projekt mit all seinen Abhängigkeiten, die zusammen eine erstellbare Codeeinheit wie eine Dynamic Link Library (DLL) oder eine ausführbare Datei erzeugen. 

Während der Transformation stellt Amazon Q step-by-step Updates in einem Transformation Hub bereit, in dem Sie den Fortschritt überwachen können. Nach der Transformation Ihrer Anwendung generiert Amazon Q eine Zusammenfassung mit den vorgeschlagenen Änderungen in einer Diff-Ansicht, sodass Sie die Änderungen optional überprüfen können, bevor Sie sie akzeptieren. Wenn Sie die Änderungen akzeptieren, nimmt Amazon Q direkte Aktualisierungen an Ihrer .NET-Lösung oder Ihrem Projekt vor. 

Amazon Q führt vier wichtige Aufgaben zur Portierung von .NET-Anwendungen nach Linux aus:
+ **Aktualisieren der Sprachversion** – ersetzt veraltete C\$1-Codeversionen durch Linux-kompatible C\$1-Versionen
+ **Migrieren von .NET Framework zu plattformübergreifendem .NET** – migriert Projekte und Pakete vom Windows-abhängigen .NET Framework zu plattformübergreifendem .NET, das mit Linux kompatibel ist
+ **Umschreiben von Code zugunsten der Linux-Kompatibilität** – nimmt einen Faktorwechsel für veraltete und ineffiziente Codekomponenten vor und schreibt sie neu
+ **Generieren eines Berichts zur Bereitschaft für die Linux-Kompatibilität** – Für Aufgaben mit offenem Ende, bei denen Benutzereingriffe erforderlich sind, damit der Code unter Linux erstellt und ausgeführt werden kann, bietet Amazon Q einen detaillierten Bericht über die Aktionen, die zur Konfiguration Ihrer Anwendung nach der Transformation erforderlich sind.

Weitere Informationen darüber, wie Amazon Q .NET-Transformationen durchführt, finden Sie unter [Funktionsweise](how-dotnet-transformation-works.md). 

**Topics**
+ [

## Kontingente
](#quotas-dotnet-transformation)
+ [

# Portieren einer .NET-Anwendung mit Amazon Q Developer in Visual Studio
](port-dotnet-application.md)
+ [

# So transformiert Amazon Q Developer .NET-Anwendungen
](how-dotnet-transformation-works.md)
+ [

# Beheben von Problemen mit .NET-Transformationen in der IDE
](troubleshooting-dotnet-transformation-IDE.md)

## Kontingente
<a name="quotas-dotnet-transformation"></a>

Für .NET-Transformationen mit Amazon Q in der IDE gelten die folgenden Kontingente: 
+ **Codezeilen pro Auftrag** – die maximale Anzahl von Codezeilen, die Amazon Q in einem bestimmten Transformationsauftrag transformieren kann. Dies ist auch das monatliche Gesamtlimit für .NET-Transformationen. 
+ **Gleichzeitige Aufträge** – die maximale Anzahl von Transformationsaufträgen, die Sie gleichzeitig ausführen können. Dieses Kontingent gilt für alle Transformationen in der IDE, einschließlich [Java-Transformationen](transform-java.md).


| Ressource | Kontingente | 
| --- | --- | 
| Codezeilen pro Auftrag | 100 000 Codezeilen | 
| Gleichzeitige Aufträge |  1 Auftrag pro Benutzer 2 Jobs pro AWS Konto  | 

# Portieren einer .NET-Anwendung mit Amazon Q Developer in Visual Studio
<a name="port-dotnet-application"></a>

Gehen Sie wie folgt vor, um eine Windows-basierte .NET-Anwendung mit Amazon Q Developer in Visual Studio auf eine Linux-kompatible plattformübergreifende .NET-Anwendung zu portieren. 

## Schritt 1: Voraussetzungen
<a name="transform-dotnet-prerequisites"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html) beschriebenen Schritte ausgeführt habe.

Überprüfen Sie vor Beginn eines .NET-Transformationsauftrags, ob die folgenden Voraussetzungen für Ihre Anwendung erfüllt sind:
+ Ihre Anwendung enthält ausschließlich in C\$1 geschriebene .NET-Projekte.
+ Ihre Anwendung hat nur von Microsoft verfasste Paketabhängigkeiten NuGet 
+ Ihre Anwendung verwendet nur UTF-8-Zeichen. Wenn Ihre Anwendung keine UTF-8-Zeichen verwendet, versucht Amazon Q trotzdem, Ihren Code zu transformieren.
+ Wenn Ihre Anwendung von Internet Information Services (IIS) abhängig ist, werden nur IIS-Standardkonfigurationen verwendet.
+ Amazon Q wertet den Typ des ausgewählten Projekts und seine Abhängigkeiten aus, um eine Codegruppe zu erstellen. Für Ihre Codegruppe sind nur folgende Projekttypen möglich:
  + Konsolenanwendung
  + Klassenbibliothek 
  + Web-API
  + WCF-Service
  + Geschäftslogikebenen von Model View Controller (MVC) und Single Page Application (SPA)
  + Testen von Projekten

**Anmerkung**  
Amazon Q unterstützt das Transformieren von Komponenten der Benutzeroberflächenebene wie Razor Ansichten oder WebForms ASPX-Dateien nicht. Wenn Amazon Q Komponenten der Benutzeroberflächenebene in Ihrer Lösung oder Ihrem Projekt erkennt, führt es eine teilweise Transformation durch, indem Komponenten der Benutzeroberflächenebene ausgeschlossen werden. Möglicherweise müssen Sie einen weiteren Faktorwechsel für Ihren Code vornehmen, damit er in der .NET-Zielversion erstellt werden kann.

## Schritt 2: Transformieren Ihrer Anwendung
<a name="transform-dotnet-app"></a>

Sie können Ihre .NET-Lösung oder Ihr Projekt wie folgt transformieren:

1. Öffnen Sie eine C\$1-basierte Lösung oder ein Projekt in Visual Studio, die bzw. das Sie transformieren möchten. 

1. Öffnen Sie eine C\$1-Codedatei im Editor. 

1. Wählen Sie **Solution Explorer** aus.

1. Klicken Sie im Solution Explorer mit der rechten Maustaste auf eine Lösung oder ein Projekt, die bzw. das Sie transformieren möchten, und wählen Sie dann **Port with Amazon Q Developer** aus.

1. Das Fenster **Port with Amazon Q Developer** wird angezeigt. 

   Die Lösung oder das Projekt, die bzw. das Sie ausgewählt haben, wird im Dropdown-Menü **Choose a solution or project to transform** ausgewählt. Sie können das Menü erweitern, um eine andere Lösung oder ein anderes Projekt für die Transformation auszuwählen. 

   Wählen Sie im Dropdown-Menü **Choose a .NET target** die .NET-Version aus, auf die Sie aktualisieren möchten.

1. Wählen Sie **Confirm** aus, um mit der Transformation zu beginnen.

1. Amazon Q beginnt mit der Transformation Ihres Codes. Einzelheiten zur Transformation Ihrer Anwendung finden Sie im generierten Transformationsplan.

   Ein **Transformation Hub** wird geöffnet, in dem Sie den Fortschritt für die Dauer der Transformation überwachen können. Nachdem Amazon Q den Schritt **Awaiting job transformation startup** abgeschlossen hat, können Sie für die Dauer der Transformation das Projekt oder die Lösung verlassen.

1. Nachdem die Transformation abgeschlossen ist, navigieren Sie zum **Transformation Hub** und wählen Sie **View diffs** aus, um die von Amazon Q vorgeschlagenen Änderungen in einer Diff-Ansicht zu überprüfen. 

1. Wählen Sie **View code transformation summary** aus, um weitere Informationen zu den von Amazon Q vorgenommenen Änderungen zu erhalten. Sie können die Transformationszusammenfassung auch herunterladen, indem Sie **Download summary as .md** auswählen. 

   Wenn für eines der Elemente in der Tabelle **Code groups** eine Eingabe unter dem Linux-Portierungsstatus erforderlich ist, müssen Sie einige Dateien manuell aktualisieren, damit Ihre Anwendung unter Linux ausgeführt werden kann. 

   1. Wählen Sie im Dropdown-Menü **Actions** die Option **Download Linux readiness report** aus. 

   1. Es wird eine CSV-Datei mit allen Änderungen an Ihrem Projekt oder Ihrer Lösung geöffnet, die Sie vornehmen müssen, damit Ihre Anwendung Linux-kompatibel wird. Sie enthält das Projekt und die Datei, die aktualisiert werden müssen, eine Beschreibung des zu aktualisierenden Elements und eine Erläuterung des Problems. In der Spalte **Recommendation** finden Sie Anregungen, wie Sie ein Problem mit der Linux-Bereitschaft lösen können. 

1. Wenn Sie Ihre Dateien an Ort und Stelle aktualisieren möchten, wählen Sie im Dropdown-Menü **Actions** die Option **Accept changes** aus. 

# So transformiert Amazon Q Developer .NET-Anwendungen
<a name="how-dotnet-transformation-works"></a>

In den folgenden Abschnitten finden Sie Einzelheiten, wie die .NET-Transformation mit Amazon Q Developer funktioniert. 

## Analysieren Ihrer Anwendung und Erstellen eines Transformationsplans
<a name="analyzing-app-generating-plan"></a>

Bevor eine Transformation beginnt, erstellt Amazon Q Ihren Code lokal, um sicherzustellen, dass er erstellbar und für die Transformation korrekt konfiguriert ist. Amazon Q lädt dann Ihren Code in eine sichere und verschlüsselte Build-Umgebung hoch AWS, analysiert Ihre Codebasis und bestimmt die erforderlichen Updates, um Ihre Anwendung zu portieren. 

Während dieser Analyse unterteilt Amazon Q Ihre .NET-Lösung oder Ihr Projekt in Codegruppen. Eine Codegruppe ist ein Projekt mit all seinen Abhängigkeiten, die zusammen eine erstellbare Codeeinheit wie eine Dynamic Link Library (DLL) oder eine ausführbare Datei erzeugen. Auch wenn Sie nicht alle zu transformierenden Projektabhängigkeiten ausgewählt haben, bestimmt Amazon Q die Abhängigkeiten, die für die Erstellung Ihrer ausgewählten Projekte erforderlich sind, und transformiert sie ebenfalls, sodass Ihre transformierte Anwendung erstellbar und einsatzbereit ist.

Nach der Analyse Ihres Codes generiert Amazon Q einen Transformationsplan, in dem die vorgeschlagenen Änderungen beschrieben werden, einschließlich einer Liste der Codegruppen und ihrer Abhängigkeiten, die transformiert werden sollen. 

## Transformieren Ihrer Anwendung
<a name="transforming-app"></a>

Zum Starten der Transformation erstellt Amazon Q Ihren Code erneut in der sicheren Entwicklungsumgebung, um zu gewährleisten, dass er remote erstellt werden kann. Amazon Q beginnt dann mit der Portierung Ihrer Anwendung. Dabei wird von unten nach oben vorgegangen, beginnend mit der niedrigsten Abhängigkeitsebene. Wenn Amazon Q bei der Portierung einer Abhängigkeit auf ein Problem stößt, wird die Transformation gestoppt und es werden Informationen darüber bereitgestellt, was den Fehler verursacht hat. 

Die Transformation umfasst die folgenden Aktualisierungen Ihrer Anwendung: 
+ Ersetzen veralteter C\$1-Codeversionen durch Linux-kompatible C\$1-Versionen
+ Aktualisieren von .NET Framework auf plattformübergreifendes .NET, einschließlich: 
  + Identifizieren und iteratives Ersetzen von Paketen, Bibliotheken und APIs
  +  NuGet Pakete aktualisieren und ersetzen und APIs
  + Übergehen zur plattformübergreifenden Laufzeit
  + Einrichten von Middleware und Aktualisieren von Laufzeitkonfigurationen
  + Ersetzen von privaten Paketen oder Paketen von Drittanbietern 
  + Umgehen mit IIS- und WCF-Komponenten 
  + Debuggen von Build-Fehlern
+ Umschreiben von Code aus Gründen der Linux-Kompatibilität, einschließlich Durchführung eines Faktorwechsels und Umschreiben von veraltetem und ineffizientem Code zur Portierung von vorhandenem Code 

## Überprüfen der Transformationszusammenfassung und Akzeptieren der Änderungen
<a name="reviewing-summary-accepting-changes"></a>

Nach Abschluss der Transformation stellt Amazon Q eine Zusammenfassung der Transformation mit Informationen zu den vorgeschlagenen Aktualisierungen Ihrer Anwendung bereit, einschließlich der Anzahl der geänderten Dateien, aktualisierten Pakete und APIs geänderten Pakete. Es kennzeichnet alle erfolglosen Transformationen, einschließlich der betroffenen Dateien oder Teile von Dateien und der Fehler, die bei einem Build-Versuch aufgetreten sind. Sie können sich auch eine Build-Zusammenfassung mit Build-Protokollen ansehen, um mehr darüber zu erfahren, welche Änderungen vorgenommen wurden. 

Die Transformationszusammenfassung enthält auch einen Linux-Portierungsstatus, der angibt, ob zusätzliche Benutzereingaben erforderlich sind, um die Anwendung Linux-kompatibel zu machen. Wenn für eines der Elemente in einer Codegruppe Eingaben von Ihnen erforderlich sind, laden Sie einen Linux-Bereitschaftsbericht herunter, der Windows-spezifische Überlegungen enthält, die Amazon Q zum Zeitpunkt der Erstellung nicht berücksichtigen konnte. Falls Eingaben für Codegruppen oder Dateien erforderlich sind, finden Sie im Bericht Einzelheiten darüber, welche Art von Änderung noch vorgenommen werden muss, und gegebenenfalls Empfehlungen zur Aktualisierung Ihres Codes. Diese Änderungen müssen manuell vorgenommen werden, bevor Ihre Anwendung unter Linux ausgeführt werden kann. 

Sie können die vorgeschlagenen Änderungen, die Amazon Q vorgenommen hat, in einer Diff-Ansicht überprüfen, bevor Sie sie als direkte Aktualisierungen Ihrer Dateien akzeptieren. Nachdem Sie Ihre Dateien aktualisiert und alle Punkte im Linux-Bereitschaftsbericht behandelt haben, ist Ihre Anwendung bereit, auf plattformübergreifendem .NET ausgeführt zu werden.

# Beheben von Problemen mit .NET-Transformationen in der IDE
<a name="troubleshooting-dotnet-transformation-IDE"></a>

Verwenden Sie die folgenden Abschnitte, um häufig auftretende Probleme mit .NET-Transformationen in der IDE mit Amazon Q Developer zu beheben.

## Woher weiß ich, ob ein Auftrag Fortschritte verzeichnet?
<a name="job-progressing"></a>

Wenn Amazon Q anscheinend viel Zeit mit einem Schritt im Transformation Hub verbringt, können Sie in den Ausgabeprotokollen überprüfen, ob der Auftrag noch aktiv ist. Wenn Diagnosemeldungen generiert werden, ist der Auftrag noch aktiv. 

Zum Überprüfen der Ausgaben wählen Sie in Visual Studio die Registerkarte **Output** aus. Wählen Sie im Menü **Show output from:** die Option **Amazon Q Language Client** aus.

Der folgende Screenshot zeigt ein Beispiel für die Ausgaben, die Amazon Q während einer Transformation generiert.

![\[Screenshot des Code Transformation Hub von Amazon Q Developer, der die Ausgabe des Amazon Q Language Client zeigt.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/code-transform-troubleshoot4.png)


## Warum wurden einige Projekte nicht für die Transformation ausgewählt?
<a name="projects-not-selected"></a>

Amazon Q kann nur unterstützte Projekttypen in der Sprache C\$1 transformieren. Derzeit unterstützt Amazon Q keine Portierung von Komponenten oder Projekten auf Benutzeroberflächenebene, die in den Sprachen VB.NET oder F\$1 geschrieben wurden. Eine Liste der unterstützten Projekttypen und anderer Voraussetzungen für die Transformation Ihrer .NET-Projekte finden Sie unter [Schritt 1: Voraussetzungen](port-dotnet-application.md#transform-dotnet-prerequisites).

## Wie erhalte ich Support, wenn mein Projekt oder meine Lösung nicht transformiert wird?
<a name="get-support"></a>

Wenn Sie Probleme nicht selbst beheben können, können Sie sich an Support oder Ihr AWS-Konto Team wenden, um einen Support-Fall einzureichen. 

Um Support zu erhalten, geben Sie die ID des Transformationsauftrags an, damit AWS Sie einen fehlgeschlagenen Job untersuchen können. Eine Transformationsauftrags-ID finden Sie, indem Sie in Visual Studio die Registerkarte **Output** auswählen. Wählen Sie im Menü **Show output from:** die Option **Amazon Q Language Client** aus.

## Wie kann ich verhindern, dass meine Firewall Transformationsaufträge stört?
<a name="firewall-inteference"></a>

Wenn Ihre Organisation eine Firewall verwendet, kann diese die Transformationen in Visual Studio beeinträchtigen. Sie können die Sicherheitsprüfungen in Node.js vorübergehend deaktivieren, um Fehler zu beheben oder zu testen, was die Ausführung der Transformation verhindert. 

Die Umgebungsvariable `NODE_TLS_REJECT_UNAUTHORIZED` steuert wichtige Sicherheitsprüfungen. Durch `NODE_TLS_REJECT_UNAUTHORIZED` die Einstellung auf „0" wird die Ablehnung nicht autorisierter TLS/SSL Zertifikate durch Node.js deaktiviert. Das bedeutet Folgendes:
+ Selbstsignierte Zertifikate werden akzeptiert.
+ Abgelaufene Zertifikate werden zugelassen.
+ Zertifikate mit nicht übereinstimmenden Hostnamen sind zulässig.
+ Alle anderen Fehler bei der Zertifikatvalidierung werden ignoriert.

Wenn Ihr Proxy ein selbstsigniertes Zertifikat verwendet, können Sie die folgenden Umgebungsvariablen festlegen, anstatt `NODE_TLS_REJECT_UNAUTHORIZED` zu deaktivieren:

```
NODE_OPTIONS = —use-openssl-ca
NODE_EXTRA_CA_CERTS = Path/To/Corporate/Certs
```

Andernfalls müssen Sie die CA-Zertifikate angeben, die der Proxy zur Deaktivierung von `NODE_TLS_REJECT_UNAUTHORIZED` verwendet.

**So deaktivieren Sie NODE\$1TLS\$1REJECT\$1UNAUTHORIZED unter Windows:**

1. Öffnen Sie das Startmenü und suchen Sie nach **Umgebungsvariablen**.

1. Wählen Sie **Systemumgebungsvariablen bearbeiten** aus.

1. Wählen Sie im Fenster **Systemeigenschaften** die Option **Umgebungsvariablen** aus.

1. Wählen Sie unter **Systemvariablen** die Option **Neu** aus.

1. Legen Sie den **Variablennamen** auf NODE\$1TLS\$1REJECT\$1UNAUTHORIZED und den **Variablenwert** auf 0 fest.

1. Klicken Sie auf **OK**, um die Änderung zu speichern.

1. Starten Sie Visual Studio neu.