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.
GitHub Copilot Modernisierungsprozess verwendet einen strukturierten Ansatz, um .NET-Projekte aufzuwerten. Wenn Sie wissen, wie der Agent funktioniert, einschließlich seiner Szenarien, Fähigkeiten, Aufgaben und Workflows, hilft Ihnen, effektiv mit dem Agent zusammenzuarbeiten und die besten Ergebnisse zu erzielen.
Tipp
Stellen Sie sich den Agenten als qualifizierter Kollege vor, der .NET tief versteht, folgt einem strukturierten Plan und passt sich An Ihr Feedback an. Je mehr Kontext Sie geben, desto besser ist die Leistung des Agents.
Der Agent als Teamkollege
Der Agent zeichnet sich für die Zusammenarbeit aus, nicht automatisierung in einem Vakuum:
- Tiefgehendes .NET-Wissen: Der Agent versteht Projektdateien, NuGet-Abhängigkeiten, Breaking Changes und Upgrademuster in Dutzenden .NET-Technologien für C#- und Visual Basic-Projekte.
- Strukturierter Workflow: Jedes Upgrade durchläuft Bewertung, Planung und Ausführung. Keine zufälligen Änderungen, keine Überraschungen.
-
Lernt Ihre Vorlieben kennen: Wenn Sie "immer explizite Typen anstelle von
varverwenden" sagen, schreibt der Agent diese Einstellung aufscenario-instructions.mdund merkt sich diese Präferenz über mehrere Sitzungen hinweg. - Korrigierbar während des Flugs: Eine falsche Entscheidung getroffen? Informieren Sie den Agenten. Es passt sich an und wendet die Korrektur in Zukunft an.
- Erläutert seine Begründung: Fragen Sie "Warum haben Sie diesen Ansatz gewählt?" und der Agent führt Sie durch die Entscheidung.
Szenarien
Ein Szenario ist ein verwalteter End-to-End-Modernisierungsworkflow. Wenn Sie dem Agent mitteilen, "aktualisieren Sie meine Lösung auf .NET 10", wird das Szenario .NET version upgrade ausgelöst.
Wie Szenarien ermittelt werden
Sie müssen sich keine Szenarionamen merken. Der Agent ermittelt relevante Szenarien automatisch:
- Analysiert Ihre Codebasis, um zu verstehen, welche Technologien Sie verwenden, einschließlich Sprache, Frameworkversion, Bibliotheken und Projekttypen.
- Identifiziert, welche Szenarien für Ihre Projekte relevant sind.
- Bewertet Szenarien nach Wichtigkeit und Gewichtung. Die relevantesten werden zuerst angezeigt.
Sie können auch direkt fragen: "Welche Szenarien stehen für meine Lösung zur Verfügung?"
Szenariopersistenz
Jedes aktive Szenario erhält einen eigenen Ordner unter .github/upgrades/{scenarioId}/. Der Szenarioordner enthält den Plan, den Vorgangsfortschritt, Ihre Einstellungen und Ausführungsprotokolle. Der Ordner ist Teil Ihres Git-Repositorys.
Eine vollständige Liste der Szenarien finden Sie unter "Szenarien und Fähigkeiten".
Der Workflowlebenszyklus
Jedes Szenario folgt demselben Lebenszyklus: ein dreistufiger Workflow.
Phase 1: Bewertung
Der Agent sammelt alles, was er benötigt, bevor er mit der Arbeit beginnt:
- Zielframework: Die Version, auf die Sie aktualisieren.
- Git-Strategie: Der Agent schlägt die Verzweigung vor, und Sie steuern die Details: Verzweigungsname, ob pro Aufgabe Verzweigungen verwendet werden sollen, und zeitgesteuertes Commit.
- Ablaufmodus: Automatisch (Agentgesteuert) oder Geführt (Sie genehmigen jede Phase).
- Szenariospezifische Parameter: Je nach Szenario stellt der Agent möglicherweise weitere Fragen.
Der Agent initialisiert den Szenarioarbeitsbereich bei .github/upgrades/{scenarioId}/.
Der Agent analysiert dann Ihre Codebasis:
- Projekt-Abhängigkeitsdiagramm (topologische Reihenfolge)
- NuGet-Paketkompatibilität mit dem Zielframework
- Unterbrechen von API-Änderungen
- Testabdeckung
- Komplexität und Risikofaktoren
Der Agent speichert einen umfassenden Bewertungsbericht in assessment.md.
Basierend auf der Bewertung bewertet der Agent Ihre Lösung und identifiziert, welche Upgradeentscheidungen relevant sind. Es stellt vernünftige Standardwerte dar und ermöglicht es Ihnen, jede Auswahl zu überprüfen und außer Kraft zu setzen.
Mögliche Optionen:
- Upgradestrategie: Bottom-up, Top-down oder alles auf einmal.
- Projekt-Upgrade-Ansatz: Direkte Neuimplementierung oder parallel für Webanwendungen; dynamische oder Multitargeting für Bibliotheken.
- Technologiemodernisierung: Auswahlmöglichkeiten für Entity Framework-Upgrade, Abhängigkeitseinfügung, Protokollierung und Konfiguration.
- Paketverwaltung: Gibt an, ob und wann die zentrale Paketverwaltung verwendet werden soll.
- Kompatibilitätsbehandlung: So behandeln Sie nicht unterstützte APIs und Pakete.
Der Agent speichert bestätigte Entscheidungen in upgrade-options.md.
Im geführten Modus hält der Agent hier für Ihre Überprüfung an, bevor er fortfahren kann.
Phase 2: Planung
Der Agent erstellt den Aufgabenplan basierend auf der Bewertung und Ihren bestätigten Optionen. Die Planung erzeugt drei Schlüsseldateien:
-
plan.md: Der Upgradeplan mit Strategie- und Aufgabenbeschreibungen. -
scenario-instructions.md: Ihre Einstellungen, Entscheidungen und das Gedächtnis des Agents. -
tasks.md— Die sortierte Liste der Aufgaben, die der Agent ausführt.
Phase 3: Ausführung
Der Agent bearbeitet die Aufgaben nacheinander. Für jede Aufgabe in tasks.mdfolgt der Agent einem Zyklus: Starten, Ausführen, Überprüfen (Build und Test) und Abschließen. Sie steuern, wann und wie der Agent Änderungen ausführt: pro Aufgabe, pro Gruppe von Aufgaben oder am Ende. Wenn der Agent arbeitet, aktualisiert er die Echtzeitstatus tasks.md, damit Sie den Fortschritt nachverfolgen können.
Upgrade-Strategien
Während der Bewertungsphase bewertet der Agent Ihre Lösung und empfiehlt eine der folgenden Strategien:
| Strategie | Am besten geeignet für: | So funktioniert es |
|---|---|---|
| Unten nach oben | Große Lösungen mit tiefen Abhängigkeitsdiagrammen | Beginnen Sie mit Blattprojekten (keine Abhängigkeiten), arbeiten Sie nach oben. |
| Oben unten | Schnelles Feedback zur Haupt-App | Beginnen Sie mit dem Anwendungsprojekt, beheben Sie abhängigkeiten nach Bedarf. |
| Alle gleichzeitig | Kleine, einfache Lösungen | Aktualisieren Sie sämtliche Komponenten in einem Durchgang. |
Tipp
Der Agent zeigt nur Entscheidungen an, die für Ihr Projekt relevant sind. Eine einfache Konsolen-App sieht keine Webframework-Optionen, und ein Projekt ohne Entity Framework sieht keine Datenbankupgradeoptionen.
Fähigkeiten
Skills sind kleinere, gezielte Modernisierungsfähigkeiten. Wenn der Agent während eines Upgrades auf EF6-Code trifft, lädt er den EF6-zu-EF-Core-Skill mit detaillierten, schrittweisen Upgrade-Anweisungen. Rufen Sie eine Fähigkeit direkt während eines Upgrades auf: "Aktualisieren Sie die WCF-Dienste in meinem Projekt auf CoreWCF."
Der Agent wird mit über 30 integrierten Fähigkeiten, die in Domänen organisiert sind, ausgeliefert.
- Datenzugriff: EF6 auf EF Core (Code-first und EDMX), LINQ to SQL und SqlClient-Upgrade
- Web/ASP.NET: Identity, Global.asax, OWIN, MVC routing/filters/bundling und von WCF zu CoreWCF
- Serialisierung: Newtonsoft.Json zu System.Text.Json
- Cloud: Azure Functions vom In-Process- zum isolierten Worker-Modell
- Bibliotheken: ADAL zu MSAL, SignalR, PowerShell SDK und mehr
Fähigkeiten werden automatisch geladen, basierend auf dem, was der Agent in Ihrer Codebasis erkennt. Sie müssen das Laden von Skills nicht verwalten. Beschreiben Sie einfach, was Sie benötigen.
Die vollständige Liste finden Sie unter "Szenarien und Fähigkeiten".
Aufgaben
Aufgaben sind die Atomeinheiten der Arbeit innerhalb eines Szenarios. Jede Aufgabe stellt einen bestimmten, begrenzten Teil des Upgrades dar, z. B. "Upgrade CommonLib von .NET 6 auf .NET 10" oder "Upgrade EF6-Verwendung in DataLayer auf EF Core".
Aufgabenlebenszyklus
Aufgaben durchlaufen diese Zustände:
- Verfügbar: Bereit zum Starten, alle Abhängigkeiten erfüllt.
- In Bearbeitung: Der Agent arbeitet aktiv an der Aufgabe.
- Abgeschlossen: Codeänderungen angewendet, Build erfolgreich, Tests erfolgreich.
Für jede Aufgabe, der Agent:
- Lädt verwandte Fähigkeiten und Kontext.
- Bewertet die Komplexität und entscheidet, ob der Vorgang Teilvorgänge benötigt.
- Schreibt eine Geltungsbereichszusammenfassung zu
tasks/{taskId}/task.md. - Führt Codeänderungen aus.
- Validiert durch Ausführen von Build und Tests.
- Erfasst Ergebnisse in
tasks/{taskId}/progress-details.md. - Führt Änderungen durch und wechselt zur nächsten Aufgabe.
Zustandsverwaltung
Der Agent verwaltet den persistenten Status, damit Sie jederzeit anhalten und fortsetzen können. Alles lebt in Ihrem Repository unter .github/upgrades/{scenarioId}/.
| Datei | Purpose |
|---|---|
scenario-instructions.md |
Ihre Vorlieben, Entscheidungen und benutzerdefinierten Anweisungen. Der persistente Speicher des Agents. |
upgrade-options.md |
Bestätigte Upgradeentscheidungen |
plan.md |
Der Upgradeplan mit Strategie- und Aufgabenbeschreibungen |
tasks.md |
Visuelles Statusdashboard mit Aufgabenstatus |
execution-log.md |
Detailliertes Protokoll aller Änderungen und Entscheidungen |
tasks/{taskId}/task.md |
Aufgabenbereich und Kontext |
tasks/{taskId}/progress-details.md |
Ausführungsnotizen und -ergebnisse pro Aufgabe |
Fortsetzbarkeit
Schließen Sie den Chat, schließen Sie Ihre IDE, oder kehren Sie am nächsten Tag zurück. Der Agent setzt genau dort an, wo er aufgehört hat.
- Bei Ihrer nächsten Interaktion überprüft der Agent automatisch den aktuellen Status Ihres Arbeitsbereichs.
- Der Agent erkennt das vorhandene Szenario und zeigt den aktuellen Fortschritt an, z. B. "3 von 8 abgeschlossenen Aufgaben".
- Der Agent erkennt veraltete Aufgaben (hängen geblieben von einer vorherigen unterbrochenen Sitzung) und bietet an, sie fortzusetzen oder neu zu starten.
- Der Agent lädt Ihre Einstellungen von
scenario-instructions.md.
IDE-Übergreifende Kontinuität
Da sich der Zustand in Git befindet, können Sie während des Upgrades nahtlos zwischen VS Code, Visual Studio und Copilot CLI wechseln. Der .github/upgrades/ Ordner ist der freigegebene Zustand, den beide IDEs verstehen.
Tipp
Übertragen Sie den .github/upgrades/ Ordner in Ihren Branch. Übertragen Sie die Verzweigung an ein Remote-Repository, damit Teammitglieder den Fortschritt anzeigen oder das Upgrade auf einem anderen Computer fortsetzen können.
Flussmodus
Der Agent unterstützt zwei Flussmodi, die steuern, wie viel Aufsicht Sie haben: Automatischer Modus und geführter Modus.
Automatischer Modus
Der Agent arbeitet durch alle Phasen (Bewertung, Planung und Ausführung) ohne auf eine Genehmigung zu warten. Es zeigt wichtige Erkenntnisse und Fortschrittsaktualisierungen an, bewegt sich jedoch weiter.
Am besten geeignet für erfahrene Benutzer, einfache Upgrades und kleine Lösungen.
Geführter Modus
Der Agent hält an jeder Phasengrenze für Ihre Überprüfung an:
- Nach der Bewertung: "Hier ist das, was ich gefunden habe. Soll ich mit den Upgradeoptionen fortfahren?"
- Nach der Planung: "Hier ist der Aufgabenplan. Soll ich mit der Ausführung beginnen?"
- Vor komplexen Aufgabenaufschlüsselungen: "Diese Aufgabe ist komplex. Hier ist, wie ich sie aufteilen würde."
Am besten für Erstmalige Benutzer, komplexe Lösungen und wann Sie den Prozess erlernen möchten.
Modi jederzeit wechseln
- Sagen Sie "Anhalten" oder "Zum geführten Modus wechseln", um in den geführten Modus zu wechseln.
- Sagen Sie "Weiter" oder "Weiter" , um zum automatischen Modus zu wechseln.
Tipp
Beginnen Sie mit dem geführten Modus für Ihr erstes Upgrade, um den Workflow zu verstehen, und wechseln Sie dann zu "Automatisch", sobald Sie sich wohl fühlen.