Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Befolgen Sie diese Richtlinien, um die besten Ergebnisse aus GitHub Copilot Modernisierung zu erzielen, wenn Sie .NET Projekte aktualisieren und migrieren.
Bevor du anfängst
Bereiten Sie Ihre Projekte vor dem Starten eines Upgrades vor, um die besten Ergebnisse zu erzielen.
Stellen Sie sicher, dass Ihre Lösungsbuilds und -tests erfolgreich abgeschlossen werden.
Der Agent validiert Änderungen, die er durch Ausführen von Builds und Tests macht. Wenn Ihre Lösung bereits kaputt ist, bevor Sie beginnen, kann der Agent keine bereits vorhandenen Fehler von Problemen unterscheiden, die er eingeführt hat.
Dokumentieren Sie alle bekannten Testfehler in scenario-instructions.md, so dass der Agent sie ignoriert.
Ausführen eines Commits oder Aufhebens der nicht abgeschlossenen Arbeit
Beginnen Sie mit einem sauberen Arbeitsverzeichnis, um zu vermeiden, dass Ihre nicht übernommenen Änderungen mit den Änderungen des Agents gemischt werden. Ein sauberer Basisplan erleichtert das Überprüfen oder Zurücksetzen von Änderungen.
git stash
git status
Sichern von Nicht-Git-Repositorys
Der Agent funktioniert auch mit Ordnern, die nicht der Quellcodeverwaltung unterliegen. Wenn sich Ihr Projekt nicht in einem Git-Repository befindet, überspringt der Agent Branch- und Commitvorgänge. Wenn ja, sichern Sie Den Projektordner, bevor Sie beginnen, damit Sie ihn bei Bedarf wiederherstellen können.
Erwägen Sie, ein lokales Git-Repository zu initialisieren, bevor Sie das Upgrade starten, auch wenn Sie keinen Push an einen Cloudanbieter durchführen. Mit einem lokalen Git-Repository können Sie:
- Zurücksetzen einzelner Änderungen mit
git revert. - Verfolgen Sie den Upgrade-Fortschritt Schritt für Schritt im Commit-Verlauf.
- Steuern Sie, welche Änderungen beibehalten oder verworfen werden sollen.
- Halten Sie Ihren ursprünglichen Code sicher auf dem Hauptzweig, während der Agent an einer separaten Verzweigung arbeitet.
cd your-project-folder
git init
git add .
git commit -m "Baseline before upgrade"
Überprüfen Sie die Testabdeckung
Der Agent vertraut auf Tests, um zu überprüfen, dass seine Änderungen das Verhalten nicht beeinträchtigen. Projekte mit guter Testabdeckung erhalten Upgrades mit höherem Vertrauen.
Tipp
Sie benötigen keine 100% Abdeckung. Konzentrieren Sie sich auf code, den das Upgrade wahrscheinlich ändert, z. B. API-Grenzen, Serialisierung, Datenbankzugriff und Authentifizierung.
Klein anfangen
Wenn Sie den Agent zum ersten Mal verwenden, wählen Sie ein kleines Projekt mit geringem Risiko als Pilotprojekt aus. Ein Klassenbibliothek- oder Hilfsprojekt ist ideal. Wenn Sie klein beginnen, können Sie den Workflow verstehen, Vertrauen schaffen und alle repospezifischen Probleme erkennen, bevor Sie Ihre Hauptanwendung angehen.
Während des Upgrades
Befolgen Sie diese Richtlinien, während der Agent ihr Upgrade durchläuft.
Verwenden Sie den geführten Modus für Ihr erstes Upgrade
Der Agent unterstützt sowohl geführte als auch automatische Modi. Im geführten Modus hält der Agent an wichtigen Entscheidungspunkten für Ihre Überprüfung und Genehmigung an. Beginnen Sie mit dem geführten Modus, um zu verstehen, was der Agent tut und warum. Wechseln Sie zum automatischen Modus, sobald Sie mit dem Workflow vertraut sind.
Überprüfen Sie die Bewertung sorgfältig
Die Bewertung ist Ihre beste Möglichkeit, Probleme zu erfassen, bevor der Agent Mit dem Vornehmen von Änderungen beginnt. Suchen nach:
- Projekte, die der Agent möglicherweise verpasst oder falsch identifiziert hat.
- Abhängigkeiten, die Sie kennen, sind problematisch.
- Alles Ungewöhnliche über Ihre Lösung, das der Agent wissen sollte.
Wenn Sie etwas erkennen, teilen Sie dem Agenten im Chat mit, oder fügen Sie die Informationen hinzu scenario-instructions.md. Sie können assessment.md auch direkt bearbeiten, um Kontext hinzuzufügen, falsch identifizierte Projekte zu korrigieren oder Bedenken zu kennzeichnen, bevor der Agent mit der Planung fortfährt.
Nehmen Sie sich Zeit mit der Planungsphase
Der Agent generiert einen Plan basierend auf seiner Bewertung. Überprüfen Sie den Plan, bevor Sie fortfahren:
- Ist die Reihenfolge für Ihre Codebasis sinnvoll?
- Gibt es Abhängigkeiten, die der Agent möglicherweise nicht kennt?
- Sollten Projekte ausgeschlossen oder anders behandelt werden?
Bitten Sie den Agent, Vorgänge neu anzuordnen, Projekte zu überspringen oder seinen Ansatz zu ändern. Sie kennen Ihre Codebasis besser als der Agent, verwenden Sie daher dieses Wissen. Bearbeiten Sie die Datei direkt, um die plan.md Aufgabenreihenfolge anzupassen, Aufgaben hinzuzufügen oder Aufgaben zu entfernen.
Vorsicht
Seien Sie vorsichtig, wenn Sie plan.md direkt bearbeiten. Der Agent interpretiert Ihre Änderungen möglicherweise nicht vollständig, wenn sie widersprüchliche Anweisungen erstellen. Wenn Sie z. B. ein Abhängigkeitsprojekt entfernen, während die Projekte beibehalten werden, die davon abhängig sind.
Geben Sie sofort Feedback
Der Agent lernt aus Ihren Korrekturen innerhalb einer Sitzung. Wenn der Agent eine Auswahl trifft, der Sie nicht zustimmen,
- Teilen Sie es sofort mit: "Verwenden Sie dieses Muster nicht, verwenden Sie stattdessen X.".
- Fügen Sie permanente Anleitungen hinzu
scenario-instructions.md, damit der Agent sich über Aufgaben und Sitzungen hinweg merkt.
Bleiben Sie während der Ausführung engagiert
Die Ausführung ist nicht selbstlaufend. Bevor Sie dem Agenten mitteilen, dass er beginnen soll, überprüfen Sie tasks.mdFolgendes:
- Ist die Aufgabenreihenfolge für Ihre Codebasis sinnvoll?
- Gibt es Aufgaben, die Sie überspringen oder ändern möchten?
- Fehlen Aufgaben?
Bitten Sie den Agenten, die Aufgabenliste anzupassen oder tasks.md direkt zu bearbeiten, bevor die Ausführung beginnt. Sobald die Ausführung beginnt, informieren Sie es sofort, wenn der Agent während des Auftrags eine Fehlentscheidung trifft — der Agent wird Ihre Korrektur in Zukunft anwenden.
Sie kennen Ihre Codebasis besser als der Agent, verwenden Sie also dieses Wissen in jeder Phase.
Häufige Probleme
Achten Sie auf diese häufig auftretenden Probleme, die ein Upgrade verlangsamen oder erschweren können.
Große Lösungen mit 50 Projekten
Der Agent arbeitet projekt-für-Projekt, sodass große Lösungen Zeit in Anspruch nehmen. Seien Sie geduldig und überwachen Sie den Fortschritt. Erwägen Sie, mit einem repräsentativen Projekt end-to-End zu beginnen, bevor Sie sich für die vollständige Lösung verpflichten. Ein Einzelprojekt-Pilotprojekt zeigt systemische Probleme frühzeitig an.
Private NuGet-Feeds
Authentifizieren Sie sich bei privaten NuGet-Feeds vor dem Starten des Upgrades (z. B. über den Anmeldeinformationsanbieter oder die Feedkonfiguration Ihrer Organisation). Ohne Authentifizierung blockieren Fehler bei der Paketwiederherstellung den Fortschritt.
Benutzerdefinierte MSBuild-Ziele und -Importe
Komplexe Buildanpassungen wie benutzerdefinierte .targets Dateien, bedingte Importe oder nicht standardmäßige Buildlogik können die Bewertung verwirren und unerwartete Buildfehler verursachen. Wenn Ihre Lösung über diese Anpassungen verfügt, erwähnen Sie sie im Chat oder im scenario-instructions.md, damit der Agent sie berücksichtigen kann.
Sitzungstimeouts
Lang andauernde Upgrades können mehrere Sitzungen umfassen. Der Agent verfolgt den Fortschritt in Workflowdateien (unter .github/upgrades/), sodass er an der Stelle weiterkommen kann, an der er aufgehört hat. Wenn Sie eine neue Sitzung starten, erwähnen Sie folgendes: "Setzen Sie das Upgrade von .NET 10 fort. Ich war mitten im Data.Access-Projekt."
Effektive Zusammenarbeit
Die Qualität Ihrer Interaktion wirkt sich direkt auf die Qualität der Ergebnisse aus.
Seien Sie spezifisch bezüglich des Umfangs
Je spezifischer Sie sind, desto besser arbeitet der Agent.
| Statt | Testen |
|---|---|
| "Alles aktualisieren" | "Upgrade des Data.Access-Projekts auf .NET 10" |
| "Den Build reparieren" | "Beheben des Buildfehlers in CustomerService.cs im Zusammenhang mit der entfernten API" |
| "Migrieren Sie die Datenbankkomponenten" | "Migrieren von Entity Framework 6 zu EF Core im Repository-Projekt" |
Teilen Ihrer Einschränkungen
Informieren Sie den Agenten vorab über reale Einschränkungen:
- "Wir können die Abwärtskompatibilität für die öffentliche API nicht unterbrechen."
- "Wir haben einen Veröffentlichungstermin in zwei Wochen, also priorisieren wir die Webprojekte."
- "Das Legacy-Berichtsmodul sollte von diesem Upgrade ausgeschlossen werden."
Erläutern Ihrer Architektur
Der Agent analysiert die Codestruktur, kennt aber nicht das mentale Modell Ihres Teams. Helfen Sie dem Agent zu verstehen:
- Project A ist unsere gemeinsame Bibliothek. B, C und D hängen davon ab."
- "Das WebApi-Projekt ist unsere öffentlich zugängliche API; Internal.Api ist nur für interne Dienste vorgesehen."
- "Das Modellprojekt wird automatisch aus unserer OpenAPI-Spezifikation generiert. Ändern Sie sie nicht direkt."
Fragen Sie, warum
Der Agent kann seine Begründung erklären. Wenn eine Entscheidung nicht richtig aussieht, fragen Sie:
- "Warum haben Sie die Bottom-up-Reihenfolge gewählt?"
- "Warum aktualisieren Sie dieses Paket auf Version X anstelle von Y?"
- "Warum haben Sie dies in Teilaufgaben aufgeteilt?"
Wenn Sie die Gründe verstehen, können Sie ein besseres Feedback geben.
Frühes Speichern von Einstellungen
Wenn Sie starke Vorlieben für Codierungsstile, Muster oder Ansätze haben, fügen Sie sie scenario-instructions.md in der ersten Sitzung hinzu. Diese Datei wird über Sitzungen hinweg beibehalten und befindet sich immer im Kontext des Agents, wodurch sie die zuverlässigste Methode zum Beeinflussen des Verhaltens ist.
Beheben von Problemen
Verwenden Sie diese Strategien, wenn das Upgrade nicht wie erwartet funktioniert.
Build-Fehler nach einer Aufgabenstellung
Teilen Sie dem Agent mit: "Der Build ist nach der letzten Aufgabe fehlgeschlagen." Der Agent analysiert den Fehler und versucht, ihn zu beheben. Wenn der Agent das Problem nicht beheben kann:
- Stellen Sie einen manuellen Fix bereit, und teilen Sie dem Agenten mit, was Sie getan haben. Der Agent lernt aus Ihrer Lösung.
- Setzen Sie den Commit (
git revertoder setzen Sie ihn auf den vorherigen Commit zurück), und bitten Sie den Agent, einen anderen Ansatz zu versuchen. - Überspringen Sie die problematische Aufgabe, und kehren Sie später zurück.
Falsche Strategie ausgewählt
Wenn der allgemeine Ansatz des Agents für Ihre Codebasis nicht funktioniert, starten Sie die Planungsphase neu:
- Den Plan überarbeiten. Ich möchte die Webprojekte zuerst und nicht von unten nach oben aktualisieren.
- "Ändern Sie die Strategie, um alle freigegebenen Bibliotheken in einem Batch zu aktualisieren."
Agent, der in einer Schleife hängen geblieben ist
Wenn der Agent den gleichen Fix ohne Fortschritt wiederholt, sagen Sie "Beenden" , und beschreiben Sie, was Sie beobachten, oder beenden Sie die Sitzung manuell. Der Agent kann seinen Ansatz zurücksetzen und etwas anderes ausprobieren.
Alle Änderungen rückgängigmachen
Wenn Sie einen Git Branch für das Upgrade verwendet haben, können Sie alles rückgängig machen, indem Sie zu Ihrer ursprünglichen Verzweigung zurückkehren:
git checkout your-original-branch
git branch -D upgrade-branch
Ihr ursprünglicher Code bleibt unberührt. Wenn Sie ohne Quellcodeverwaltung arbeiten, stellen Sie vor dem Start die Von Ihnen vorgenommene Sicherung wieder her.
Sicherheit und Datenschutz
- Code-Codeausschnitte: GitHub Copilot verarbeitet diese gemäß GitHub Copilot-Datenschutzrichtlinie und behält sie nicht über die unmittelbare Sitzung hinaus.
-
Workflowdateien (
scenario-instructions.md, benutzerdefinierte Aufgaben, Einstellungen) bleiben in Ihrem Repository unter.github/upgrades/. GitHub überträgt diese Dateien nicht an externe Dienste. -
Der
.github/upgrades/Ordner ist Teil Ihres Repositorys. Committen Sie den Ordner, da er Ihren Upgradefortschritt und -status enthält. Der Agent benötigt den Ordner, um die Arbeit über Sitzungen hinweg fortzusetzen. Sie können es entfernen, nachdem das Upgrade abgeschlossen ist. - Telemetrie: Deaktivieren Sie dies über die Telemetrieeinstellungen Ihrer IDE.
Leistungstipps
- Schließen Sie unnötige Dateien und Registerkarten: Der Agent analysiert den aktiven Arbeitsbereich, und weniger geöffnete Dateien bedeuten weniger Rauschen.
- Upgrade in Phasen für sehr große Lösungen: Statt alle Projekte gleichzeitig zu aktualisieren, stapeln Sie sie. Aktualisieren Sie beispielsweise zuerst alle Bibliotheken, dann alle Webprojekte, und testen Sie dann.
- Verwenden Sie die Buildzwischenspeicherung: Der Agent führt während der Überprüfung viele inkrementelle Builds aus. Warme Buildcaches beschleunigen die Überprüfung erheblich. Vermeiden Sie das Bereinigen der Buildausgabe zwischen Vorgängen.