Migrieren Sie .NET-Apps mithilfe der GitHub-Copilot-Modernisierung in Copilot CLI nach Azure.

Überblick

Erfahren Sie, wie Sie .NET-Anwendungen mithilfe des GitHub Copilot modernization-Plugins in Copilot CLI zu Azure migrieren.

Das Plug-In stellt einen autonomen, multi-agent-Workflow bereit, der Ihre .NET-Anwendung bewertet, einen ausführbaren Modernisierungsplan generiert und die Migration durchführt – alles vom Terminal aus. Es unterstützt Azure-Migrationen, die Behebung von CVE-Sicherheitslücken und die Neugestaltung von Anwendungsarchitekturen.

Hinweis

GitHub Copilot CLI ist in den Plänen GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business und GitHub Copilot Enterprise verfügbar. Wenn Sie Copilot über eine Organisation erhalten, muss ein Administrator die Copilot CLI-Richtlinie in den Organisationseinstellungen aktivieren.

Mögliche Aktionen

Fähigkeit Description
.NET Migration zu Azure Bewerten und Migrieren von .NET Anwendungen zu Azure Diensten (Service Bus, Azure SQL, Redis, Key Vault, Application Insights, Managed Identity), einschließlich NuGet-Sicherheitsprüfungen und ASP.NET-zu-Azure-Migrationen
CVE- und Sicherheitsrisikobereinigung Überprüfen und Beheben von CVE-Sicherheitsrisiken in NuGet-Abhängigkeiten
Anwendungsneuarchitektur Strukturelle Umgestaltungen wie die Zerlegung eines Monolithen in Microservices, die Modernisierung von Legacy-Benutzeroberflächen und die Extraktion von Modulen

Voraussetzungen

Installieren des Plug-Ins

  1. Führen Sie in einem Terminal copilot aus, um Copilot CLI zu starten.

    copilot
    
  2. Fügen Sie den Marketplace hinzu, und installieren Sie das Plug-In:

    copilot plugin marketplace add microsoft/github-copilot-modernization
    copilot plugin install github-copilot-modernization@github-copilot-modernization
    
  3. Überprüfen Sie, ob das Plug-In installiert ist, indem Sie installierte Plug-Ins auflisten:

    /plugin list
    

    Sie sollten github-copilot-modernization:modernize in der Liste sehen.

Aktualisieren des Plug-Ins

Führen Sie Folgendes aus, um das Plug-In zu aktualisieren, wenn eine neue Version verfügbar ist:

copilot plugin update github-copilot-modernization@github-copilot-modernization

Starten einer Modernisierungsaufgabe

Option 1: Mit dem Agent direkt beginnen

Navigieren Sie zu Ihrem .NET Projektordner, und starten Sie Copilot CLI mit dem Modernisierungs-Agent:

cd /path/to/your/dotnet-project
copilot --agent=github-copilot-modernization:modernize

Option 2: Agent in Copilot CLI auswählen

Wenn Sie sich bereits in einer Copilot CLI-Sitzung befinden, verwenden Sie den Befehl /agent, um zum Modernisierungs-Agent zu wechseln:

/agent

Wählen Sie github-copilot-modernization:modernize aus der Liste aus.

Important

Sie müssen den github-copilot-modernization:modernize Agent auswählen, bevor Sie Modernisierungsaufforderungen ausführen. Ohne diesen Agent ausgewählt, verwendet Copilot CLI den Standard-Agent, der nicht die vollständige Multi-Agent-Orchestrierung, enterprise playbook-Unterstützung und spezielle Migrationsfunktionen, die das Plug-In bereitstellt, verwenden kann.

Modernisierungsanweisung ausführen

Sobald der Agent aktiv ist, beschreiben Sie, was Sie in natürlicher Sprache wünschen:

copilot> modernize my application

Oder spezifischer sein:

copilot> modernize my .NET application for Azure
copilot> migrate this app from local SQL Server to Azure SQL Database
copilot> fix CVE vulnerabilities in my project

Verwenden Sie für die unbeaufsichtigte Ausführung das --allow-all Kennzeichen:

copilot --agent=github-copilot-modernization:modernize --allow-all

Funktionsweise des Workflows

Das Plug-In verwendet einen dreistufigen Workflow, der automatisch ausgeführt wird. Sie müssen jede Phase nicht manuell aufrufen – der Orchestrator verarbeitet das Routing basierend auf Ihrer Anforderung.

Phase 1: Bewertung

  • Erkennt .NET Projektstruktur und verwendet die entsprechenden Analysetools.
  • Analysiert Abhängigkeiten, Frameworks und Versionen.
  • Identifiziert Modernisierungschancen und Risiken.
  • Speichert Ergebnisse in .github/modernize/assessment/.

Phase 2: Planung

  • Lädt Bewertungsergebnisse und Enterprise-Playbook-Einschränkungen (sofern vorhanden).
  • Generiert einen ausführbaren Aufgabenplan.
  • Speichert den Plan in .github/modernize/<app>/plan.md und tasks.json.

Phase 3: Ausführung

  • Leitet Aufgaben basierend auf dem Aufgabentyp an spezialisierte Executor-Agents weiter.
  • Jeder Executor fragt eine Wissensbasis für Migrationsmuster ab.
  • Überwacht den Fortschritt mit automatischer Wiederholung bei Fehlern.
  • Erstellt detaillierte Commits pro Aufgabe zur Überprüfung.

Der Orchestrator unterstützt je nach Absicht mehrere Einstiegspunkte:

Workflow Wenn sie aktiviert wird Was ist los
Allgemeine Absicht "Meine Anwendung modernisieren" Vollständige Bewertung → Plans → Ausführen der Pipeline
Spezifischer Vorgang "Migrieren von SQL Server zu Azure SQL" Überspringt die Bewertung, geht direkt zum Planen → Ausführung
Ausführen eines vorhandenen Plans "Plan ausführen" Überspringt Bewertung und Planung, führt einen vorhandenen Plan aus.
Kopflos Unbeaufsichtigte Ausführung mit --allow-all Identisch mit der allgemeinen Absicht ohne Benutzereingabeaufforderungen

Definieren von Unternehmensmodernisierungsrichtlinien

Organisationen können ihre Modernisierungsabsicht – Zielarchitekturen, Upgradestandards und Compliancerichtlinien – direkt in den Workflow über ein Playbook einbetten. Durch diesen Ansatz wird sichergestellt, dass jeder generierte Plan den Unternehmensstandards entspricht, ohne jede Entscheidung manuell zu überprüfen.

Richten Sie ein Playbook ein

Platzieren Sie Markdown-Dateien im .github/modernize/playbook/ Verzeichnis Ihres Projekts. In der Planungsphase werden automatisch alle .md Dateien in diesem Ordner gelesen und mit Bewertungsergebnissen zusammengeführt, bevor der Aufgabenplan generiert wird.

Important

Playbook-Einschränkungen setzen Bewertungsempfehlungen außer Kraft. Wenn Ihr Playbook "Azure Service Bus für Messaging verwenden" angibt, hat diese Wahl Vorrang, unabhängig davon, was die Bewertung ermittelt.

Was Sie in einem Playbook definieren können

Richtlinientyp Beispiele
Zielarchitekturen Compute services (App Service, AKS, Container Apps), Datenbankauswahl (Azure SQL, Cosmos DB), Messaging-Plattformen (Service Bus, Event Hubs)
Upgradestandards Ziel-.NET Version, Framework-Migrationspfade
Leitplanken Verbotene Technologien, Sicherheitsanforderungen, Complianceeinschränkungen, Authentifizierungsstandards
Codierungsstandards Benennungskonventionen, Authentifizierungsmuster, Protokollierungsframeworks
Migrationsstrategie Abgrenzung des Umfangs, Präferenzen für die 6R-Klassifizierung (rehost vs. Refactoring vs. Neuarchitektur), Strategie für die Phaseneinteilung

Beispielhandbuch

Erstellen sie eine Datei unter .github/modernize/playbook/enterprise-standards.md:

# Enterprise Modernization Standards

## Target Architecture
- Use Azure Container Apps for microservices deployments
- Use Azure Service Bus for all asynchronous messaging
- Use Azure SQL Database for relational data
- Use Azure Blob Storage for file storage

## Security & Compliance
- All services must authenticate using Managed Identity — no connection strings or passwords in code
- All public endpoints must be behind Azure Front Door

## Guardrails
- Do not use Azure Functions for long-running processes
- All infrastructure must be defined in Bicep

Es ist keine feste Benennung oder Struktur erforderlich – der Orchestrator leitet den Zweck jeder Datei vom Inhalt ab.

Voreingestellte Standardwerte

Ohne Playbook wendet das Plugin sinnvolle Standardwerte an:

  • Azure: Verwaltete Identität für die Authentifizierung; verwaltete Datenbankdienste für relationale Daten.
  • Messaging: Lokale Messaging-→ Azure Service Bus.
  • Infrastructure: standardmäßig Bicep.

Häufige Szenarien

Azure Migration

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my .NET application for Azure

Migrieren von lokalen SQL Server zu Azure SQL

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local SQL Server to Azure SQL Database with managed identity

Von Datei-E/A zu Azure Blob Storage migrieren

copilot --agent=github-copilot-modernization:modernize
copilot> migrate this app from local file I/O to Azure Blob Storage

CVE und Sicherheitskorrektur

copilot --agent=github-copilot-modernization:modernize
copilot> fix CVE vulnerabilities in my project

Anwendungsneuarchitektur

copilot --agent=github-copilot-modernization:modernize
copilot> rearchitect my monolithic application into microservices

Vollständige Modernisierung

copilot --agent=github-copilot-modernization:modernize
copilot> modernize my application

Troubleshooting

Plug-In nicht gefunden

# Verify marketplace is added
copilot plugin marketplace list

# Re-add marketplace if needed
copilot plugin marketplace add microsoft/github-copilot-modernization

# Reinstall
copilot plugin install github-copilot-modernization@github-copilot-modernization

Die Bewertung schlägt fehl: Keine Anwendung gefunden

  • Stellen Sie sicher, dass das Stammverzeichnis Ihres Projekts eine .csproj- oder .sln-Datei enthält.
  • Stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden, bevor Sie Copilot CLI starten.

MCP-Serverprobleme

Das Plug-In verwendet den MCP-Server, der in seiner Konfiguration definiert ist. Wenn Probleme auftreten, installieren Sie das Plug-In erneut, um die MCP-Konfiguration zurückzusetzen.

Feedback geben

Teilen Sie Feedback zu GitHub Copilot CLI mithilfe des GitHub Copilot CLI-Feedbackformulars.

Reference