Freigeben über


Was bedeutet die Modernisierung von GitHub Copilot?

GitHub Copilot Modernisierung ist ein GitHub Copilot Agent, der Ihnen hilft, Projekte auf neuere Versionen von .NET zu aktualisieren und .NET Anwendungen schnell und sicher zu Azure zu migrieren. Es führt Sie durch Bewertung, Lösungsempfehlungen, Codefixes und Validierung in Visual Studio, Visual Studio Code, GitHub Copilot CLI und GitHub.com.

Verwenden Sie diesen Agent, um:

  • Aktualisieren Sie auf eine neuere Version von .NET.
  • Migrieren Sie Technologien, und stellen Sie sie auf Azure bereit.
  • Modernisieren Sie Ihre .NET-App, insbesondere beim Upgrade von .NET Framework.
  • Bewerten Sie den Code, die Konfiguration und die Abhängigkeiten Ihrer Anwendung.
  • Planen und Einrichten der richtigen Azure Ressource.
  • Beheben Sie Probleme, und wenden Sie bewährte Methoden für die Cloudmigration an.
  • Überprüfen Sie, ob Ihre App erfolgreich erstellt und getestet wird.

Szenarien

Der Agent stellt mehrere End-to-End-Modernisierungsworkflows bereit, die als Szenarien bezeichnet werden. Jedes Szenario ist ein verwalteter Workflow, der Sie durch eine bestimmte Art von Upgrade oder Migration führt:

Szenario Beschreibung Beispielaufforderung
.NET Versions-Upgrade Upgrades von älteren .NET Versionen auf .NET 8, 9, 10 oder höher. "Upgrade meiner Lösung auf .NET 10"
Konvertierung im SDK-Stil Konvertiert das ältere Projektformat in das SDK-Format. "In SDK-Format konvertieren"
Newtonsoft.Json-Migration Ersetzt Newtonsoft.Json durch System.Text.Json. "Migrieren von Newtonsoft.Json"
SqlClient-Migration Migriert von System.Data.SqlClient zu Microsoft. Data.SqlClient. "SqlClient aktualisieren"
Azure Functions Aktualisierung Aktualisiert Azure Functions vom in-Process-Modell auf das isolierte Arbeitsmodell. "Upgrade meine Azure Functions"
Semantischer Kernel zu Agents Migriert Semantischer Kernel Agents zu Microsoft Agents AI. "Meine SK-Agenten migrieren"

Eine vollständige Referenz zu allen Szenarien und 30+ integrierten Migrationskompetenzen finden Sie unter Szenarien und Kompetenzreferenz.

Feedback geben

Microsoft wertet Ihr Feedback und verwendet es, um den Agent zu verbessern. Geben Sie Feedback über eine der folgenden Optionen ab:

Voraussetzungen

Richten Sie GitHub Copilot Modernisierung in Ihrer Entwicklungsumgebung ein, bevor Sie den Agent verwenden. Installationsschritte finden Sie unter Installieren GitHub Copilot Modernisierung.

Upgrade .NET-Projekte

Der Modernisierungs-Agent unterstützt das Upgrade von C# und Visual Basic Projekten der folgenden Typen:

  • ASP.NET Core (und verwandte Technologien wie MVC, Razor Pages und Web-API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI und Xamarin
  • Klassenbibliotheken
  • Konsolen-Apps
  • Testprojekte (MSTest, NUnit und xUnit)

Informationen zum Starten eines Upgrades finden Sie unter Upgrade einer .NET App mit GitHub Copilot Modernisierung.

Unterstützte Upgradepfade

Der Agent unterstützt die folgenden Upgradepfade:

Quelle Ziel
.NET Framework (beliebige Version) .NET 8 oder höher
.NET Core 1.x–3.x .NET 8 oder höher
.NET 5 oder höher .NET 8 oder höher

Migrieren von .NET Projekten zu Azure

Der Modernisierungs-Agent vereinfacht Azure Migrationen durch automatisierte Analyse, KI-gesteuerte Codebehebung, Build- und Sicherheitsrisikoüberprüfungen und Bereitstellungsautomatisierung:

  • Analyse und intelligente Empfehlungen.

    Bewerten Sie die Bereitschaft Ihrer Anwendung für Azure Migration und erhalten Sie maßgeschneiderte Anleitungen basierend auf ihren Abhängigkeiten und identifizierten Problemen.

  • KI-gestützte Codekorrektur.

    Wenden Sie vordefinierte Best-Practice-Codemuster an, um die Modernisierung mit minimalem manuellen Aufwand zu beschleunigen.

  • Automatische Build- und CVE-Resolution.

    Erstellen Sie Ihre App, und beheben Sie Kompilierungsfehler und Sicherheitsrisiken, um die Entwicklung zu optimieren.

  • Nahtlose Bereitstellung.

    Stellen Sie auf Azure bereit und überführen Sie Ihren Code schneller von der Entwicklung in die Produktion.

Vordefinierte Aufgaben für die Migration

GitHub Copilot Modernisierung für .NET bietet vordefinierte Aufgaben, die bewährte Methoden der Branche erfassen und allgemeine Migrationsszenarien abdecken.

  • Migrieren Sie zu einer auf verwalteter Identität basierten Datenbank auf Azure, einschließlich Azure SQL DB, Azure SQL MI und Azure PostgreSQL

    Modernisieren Sie Ihre Datenschicht, indem Sie von lokalen oder älteren Datenbanken (z. B. DB2, Oracle DB oder SQL Server) zu Azure SQL DB, Azure SQL Managed Instance oder Azure PostgreSQL migrieren. Verwenden Sie die sichere verwaltete Identitätsauthentifizierung.

  • Migrate to Azure File Storage

    Verschieben Sie Datei-E/A-Vorgänge vom lokalen Dateisystem in Azure Dateispeicher für skalierbare, cloudbasierte Dateiverwaltung.

  • Auf Azure Blob Storage migrieren

    Ersetzen Sie den lokalen oder cloudübergreifenden Objektspeicher oder die datei-E/A des lokalen Dateisystems durch Azure Blob Storage für unstrukturierte Daten.

  • Migrieren zu Microsoft Entra ID

    Übergangsauthentifizierung und Autorisierung von Windows Active Directory zu Microsoft Entra ID (ehemals Azure AD) für moderne Identitätsverwaltung.

  • Migrieren Sie zu gesicherten Anmeldeinformationen, indem Sie Managed Identity und Azure Key Vault verwenden

    Ersetzen Sie Nur-Text-Anmeldeinformationen in der Konfiguration oder im Code durch sichere, verwaltete Identitäten und Azure Key Vault für die Verwaltung geheimer Schlüssel.

  • Migrieren zu Azure Service Bus

    Wechseln Sie von älteren oder Drittanbieter-Nachrichtenwarteschlangen (z. B. MSMQ oder RabbitMQ) oder Amazon SQS (AWS Simple Queue Service) zu Azure Service Bus für zuverlässiges, cloudbasiertes Messaging.

  • Migrieren zu Azure Communication Service E-Mail

    Ersetzen Sie das senden von direkten SMTP-E-Mails durch Azure Communication Service für skalierbare, sichere E-Mail-Zustellung.

  • Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka

    Wechseln Sie von lokalem oder On-Premises-Kafka zu verwalteten Event-Streaming-Lösungen mit Confluent Cloud oder Azure Event Hubs.

  • Migration zu OpenTelemetry auf Azure

    Übergang von lokalen Protokollierungsframeworks wie Log4net, Serilog und Windows Ereignisprotokoll zu OpenTelemetry für Azure.

  • Migrieren Sie zu Azure Cache for Redis mithilfe von Managed Identity

    Ersetzen Sie In-Memory- oder lokale Redis-Cacheimplementierungen durch Azure Cache for Redis für hohe Verfügbarkeit, Skalierbarkeit und Sicherheit auf Unternehmensniveau.

Funktionsweise

Informationen zum Starten eines Upgrade- oder Migrationsprozesses finden Sie unter:

  1. Öffnen Sie Ihr .NET Projekt oder Ihre Lösung in Ihrer Entwicklungsumgebung.

  2. Starten Sie den Agent mit einer der folgenden Methoden:

    • Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Oder öffnen Sie das Fenster GitHub Copilot Chat, und geben Sie @Modernize ein.
    • Visual Studio Code: Öffnen Sie den Bereich GitHub Copilot Chat, und geben Sie @modernize-dotnet ein.
    • GitHub Copilot CLI: Geben Sie @modernize-dotnet gefolgt von Ihrer Upgrade- oder Migrationsanforderung ein.
    • GitHub.com: Verwenden Sie den Codierungs-Agent modernize-dotnet in Ihrem Repository.
  3. Informieren Sie den Agent, was aktualisiert oder migriert werden soll.

Wenn Sie den Modernisierungsagent bitten, Ihre App zu upgraden, wird Copilot Sie zuerst auffordern, einen neuen Branch zu erstellen, wenn Sie in einem Git-Repository arbeiten. Anschließend wird Copilot Ihr Projekt bewerten und einen dreistufigen Workflow ausführen. Jede Phase erzeugt Markdown-Dateien unter .github/upgrades/{scenarioId} Ihrem Repository, damit Sie überprüfen können, was als Nächstes kommt, bevor Sie fortfahren. Wenn .github/upgrades/{scenarioId} bereits aus einem vorherigen Versuch vorhanden ist, fragt Copilot, ob der Vorgang fortgesetzt oder neu gestartet werden soll.

Copilot beginnen, ihre Projektstruktur, Abhängigkeiten und Codemuster zu untersuchen, um eine umfassende Bewertung zu erstellen. In der assessment.md Datei werden die änderungen, API-Kompatibilitätsprobleme, veraltete Muster und der Upgradebereich aufgeführt.

Nach der Bewertung führt Copilot die folgenden drei Phasen aus:

  1. Assessment: Copilot untersucht Die Projektstruktur, Abhängigkeiten und Codemuster und stellt dann Strategieentscheidungen für Ihre Überprüfung vor, z. B. die Upgradestrategie (Bottom-up, Top-down oder all-at-once), den Projektmigrationsansatz, die Technologiemodernisierungsoptionen und die Kompatibilitätsbehandlung. Copilot speichert bestätigte Entscheidungen in upgrade-options.md.

  2. Planning: Copilot konvertiert die Bewertung und Ihre bestätigten Optionen in eine detaillierte Spezifikation. Die plan.md Datei dokumentiert Upgradestrategien, Umgestaltungsansätze, Abhängigkeitspfade und Risikominderungen.

  3. Execution: Copilot teilt den Plan in sequentielle, konkrete Aufgaben mit Validierungskriterien in tasks.md. Jeder Vorgang beschreibt eine einzelne Änderung und wie Copilot bestätigt, dass er erfolgreich war.

Bearbeiten Sie eine der Markdown-Dateien in .github/upgrades/{scenarioId}, um die Upgradeschritte anzupassen oder Kontext hinzuzufügen, bevor Sie fortfahren.

Upgrade-Strategien

Während der Bewertungsphase bewertet der Agent Ihre Lösung und empfiehlt eine der folgenden Strategien:

Strategie Am besten geeignet für: Beschreibung
Unten nach oben Große Lösungen mit tiefen Abhängigkeitsdiagrammen Aktualisiert zuerst die untergeordneten Projekte und arbeitet dann nach oben.
Oben unten Schnelles Feedback zur Hauptanwendung Aktualisiert zuerst das Anwendungsprojekt und behebt dann Abhängigkeiten.
Alle gleichzeitig Kleine, einfache Lösungen Aktualisiert alle Projekte in einem Durchgang.

Flussmodus

Der Agent unterstützt zwei Flussmodi, die steuern, wie lange er für Ihre Eingabe pausiert.

  • Automatisch: Der Agent arbeitet durch alle Phasen, ohne zu pausieren und nur bei echten Blockern zu stoppen. Am besten geeignet für erfahrene Benutzer und einfache Upgrades.
  • Geführt: Der Agent hält an jeder Abschnittsgrenze an, damit Sie die Bewertung, den Plan und die Aufgaben überprüfen können, bevor Sie fortfahren. Optimal für Erstmalige Benutzer und komplexe Lösungen.

Wechseln Sie jederzeit zwischen den Modi, indem Sie "Pause" (um in den geführten Modus zu wechseln) oder "Weiter" (um in den automatischen Modus zu wechseln) sagen.

Zustandsverwaltung

Der Agent speichert den gesamten Upgradestatus in .github/upgrades/{scenarioId}/. Der Ordner enthält:

Datei Purpose
assessment.md Analyse Ihrer Lösung
upgrade-options.md Bestätigte Upgradeentscheidungen
plan.md Sortierter Aufgabenplan
tasks.md Echtzeit-Fortschritts-Dashboard
scenario-instructions.md Beständiger Speicher des Agents, einschließlich Einstellungen, Entscheidungen und benutzerdefinierte Anweisungen
execution-log.md Detaillierter Überwachungspfad aller Änderungen
tasks/{taskId}/task.md Aufgabenbereich und Kontext
tasks/{taskId}/progress-details.md Ausführungsnotizen und -ergebnisse pro Aufgabe

Da sich der gesamte Zustand in diesem Ordner befindet, können Sie Ihre IDE schließen, zwischen Sitzungen wechseln oder sogar zwischen Entwicklungsumgebungen wechseln (z. B. in VS Code starten und in Visual Studio fortfahren). Der Agent nimmt an der Stelle auf, an der er aufgehört hat.

Tipp

Übertragen Sie den .github/upgrades/ Ordner in Ihren Branch. Der zugesicherte Systemzustand dient als Backup und ermöglicht es Teammitgliedern, den Upgradefortschritt anzuzeigen.

Durchführen des Upgrades

Überprüfen und ändern Sie nach Abschluss jeder Phase die generierten Dateien nach Bedarf, und teilen Sie dann Copilot mit, die nächste Phase fortzusetzen.

Wenn Sie die Phase Execution erreichen, teilen Sie Copilot mit, das Upgrade zu starten. Wenn Copilot zu einem Problem kommt, wird versucht, die Ursache zu identifizieren und eine Lösung anzuwenden. Wenn Copilot das Problem nicht beheben kann, werden Sie um Hilfe gebeten. Wenn Sie eingreifen, lernt Copilot von den änderungen, die Sie vornehmen, und versucht, sie automatisch anzuwenden, wenn das Problem erneut auftritt.

Upgrade-Ergebnisse

Wenn Copilot jede Aufgabe ausführt, aktualisiert sie die Datei tasks.md in .github/upgrades/{scenarioId} mit dem Status jedes Schritts. Überwachen Sie den Fortschritt, indem Sie diese Datei überprüfen. Copilot erstellt einen Git-Commit für jeden Teil des Prozesses, sodass Sie Änderungen zurücksetzen oder überprüfen können, was geändert wurde.

Nach Abschluss des Upgrades zeigt Copilot die nächsten Schritte in der Chatantwort an.

Telemetrie

Das Tool sammelt Daten zu Projekttypen, Absicht zum Upgrade und Upgradedauer. Die Entwicklungsumgebung sammelt und aggregiert die Daten und enthält keine benutzeridentifizierbaren Informationen. Weitere Informationen zur Datenschutzrichtlinie von Microsoft finden Sie unter Visual Studio Programm zur Verbesserung der Benutzerfreundlichkeit.