Co je modernizace GitHub Copilot?

Modernizace s GitHub Copilot je agent GitHub Copilot, který pomáhá upgradovat projekty na novější verze .NET a rychle a sebevědomě migrovat .NET aplikace na Azure. Provede vás posouzením, doporučeními k řešení, opravami kódu a ověřováním napříč Visual Studio, Visual Studio Code, rozhraním příkazového řádku GitHub Copilot a GitHub.com.

Tento agent použijte k:

  • Upgradujte na novější verzi .NET.
  • Migrujte technologie a nasaďte je do Azure.
  • Modernizovat .NET aplikaci, zejména při upgradu z .NET Frameworku.
  • Vyhodnoťte kód, konfiguraci a závislosti aplikace.
  • Naplánujte a nastavte správný Azure zdroj.
  • Opravte problémy a použijte osvědčené postupy pro migraci do cloudu.
  • Ověřte, že se vaše aplikace úspěšně sestaví a testuje.

Scénáře

Agent poskytuje několik komplexních pracovních postupů modernizace označovaných jako scénáře. Každý scénář je spravovaný pracovní postup, který vás provede konkrétním typem upgradu nebo migrace:

Scénář Description Příklad výzvy
aktualizace verze .NET Upgraduje ze starších verzí .NET na .NET 8, 9, 10 nebo novější. Aktualizujte moje řešení na .NET 10
Převod stylu sady SDK Převede starší formát projektu na styl sady SDK. "Převést na styl sady SDK"
Aktualizace Newtonsoft.Json Nahradí Newtonsoft.Json System.Text.Json. Aktualizace z Newtonsoft.Json
Upgrade SqlClient Upgraduje z System.Data.SqlClient na Microsoft. Data.SqlClient. "Aktualizace SqlClient"
Aktualizace Azure Functions Upgraduje Azure Functions z procesu na izolovaný pracovní model. Aktualizovat moje Azure Functions
Sémantické jádro k agentům Upgraduje agenty Sémantické jádro na Microsoft Agent Framework. Upgrade agentů SK

Úplný přehled všech scénářů a 30 integrovaných dovedností upgradu najdete v referenčních informacích ke scénářům a dovednostem.

Poskytnutí zpětné vazby

Microsoft hodnotí vaši zpětnou vazbu a používá ji ke zlepšení agenta. Napište nám svůj názor pomocí některé z těchto možností:

Požadavky

Před použitím agenta nastavte GitHub Copilot modernizaci ve vývojovém prostředí. Postup instalace najdete v části Modernizace GitHub Copilot.

Aktualizace projektů .NET

Agent modernizace podporuje upgrade projektů C# a Visual Basic následujících typů:

  • ASP.NET Core (a související technologie, jako jsou MVC, Razor Pages a webové rozhraní API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF (Windows Presentation Foundation))
  • model Windows Forms
  • WinUI
  • .NET MAUI a Xamarin
  • Knihovny tříd
  • Aplikace konzoly
  • Projekty testů (MSTest, NUnit a xUnit)

Pokud chcete spustit upgrade, podívejte se na Upgrade aplikace .NET pomocí modernizace GitHub Copilot.

Podporované cesty upgradů

Agent podporuje následující cesty upgradu:

Zdroj Target
.NET Framework (libovolná verze) .NET 8 nebo novější
.NET Core 1.x–3.x .NET 8 nebo novější
.NET 5 nebo novější .NET 8 nebo novější

Migrace projektů .NET do Azure

Agent modernizace zjednodušuje migraci Azure prostřednictvím automatizované analýzy, oprav kódu řízených umělou inteligencí, kontrol sestavení a zranitelností a automatizace nasazení.

  • Analýza a inteligentní doporučení

    Vyhodnoťte připravenost aplikace na Azure migraci a získejte přizpůsobené pokyny na základě závislostí a zjištěných problémů.

  • Náprava kódu využívajícího AI

    Použijte předdefinované vzory kódu osvědčených postupů pro zrychlení modernizace s minimálním ručním úsilím.

  • Automatické sestavení a řešení CVE

    Sestavte aplikaci a vyřešte chyby kompilace a ohrožení zabezpečení a zjednodušte vývoj.

  • Bezproblémové nasazení

    Nasaďte ho do Azure a kód z vývoje do produkčního prostředí urychlíte.

Předdefinované úlohy pro migraci

GitHub Copilot modernizace pro .NET nabízí předdefinované úlohy, které zachycují osvědčené postupy v odvětví a pokrývají běžné scénáře migrace.

  • Migrujte na databázi založenou na Spravované identitě v Azure, včetně Azure SQL DB, Azure SQL MI a Azure PostgreSQL

    Modernizujte datovou vrstvu migrací z místních nebo starších databází (například DB2, Oracle DB nebo SQL Server) na Azure SQL DB, Azure SQL Managed Instance nebo Azure PostgreSQL. Používejte zabezpečené ověřování spravovaných identit.

  • Migrace do úložiště souborů Azure

    Přesuňte vstupně-výstupní operace souborů z místního systému souborů do Azure File Storage pro škálovatelnou cloudovou správu souborů.

  • Migrovat na úložiště Azure Blob

    Nahraďte místní úložiště objektů nebo úložiště objektů napříč cloudy či vstupně-výstupní operace místního systému souborů úložištěm Azure Blob Storage pro nestrukturovaná data.

  • Migrujte na Microsoft Entra ID

    Přechod ověřování a autorizace z Windows služba Active Directory na Microsoft Entra ID (dříve Azure AD) pro moderní správu identit

  • Migrace k zabezpečeným přihlašovacím údajům pomocí spravované identity a Azure Key Vault

    Nahraďte přihlašovací údaje ve formátu prostého textu v konfiguraci nebo kódu zabezpečenými, spravovanými identitami a Azure Key Vault pro správu tajných kódů.

  • Migrace do Azure Service Bus

    Přechod ze starších front zpráv nebo front zpráv třetích stran (například MSMQ nebo RabbitMQ) nebo Amazon SQS (AWS Simple Queue Service) k Azure Service Bus pro spolehlivé cloudové zasílání zpráv.

  • Migrovat na e-mailovou službu Azure Communication Service

    Přímé odesílání e-mailů SMTP nahraďte službou Azure Communication Service pro škálovatelné zabezpečené doručování e-mailů.

  • Migrace do centra událostí Confluent Cloud/Azure pro Apache Kafka

    Přechod z místního nebo na místě systému Kafka na spravované streamování událostí pomocí platformy Confluent Cloud nebo Azure Event Hubs.

  • Migrujte na OpenTelemetry na Azure

    Přechod z místních protokolovacích architektur, jako jsou log4net, Serilog a Windows protokol událostí na OpenTelemetry na Azure.

  • Migrace do Azure Cache for Redis pomocí spravované identity

    Nahraďte implementace mezipaměti Redis uchovávanou v paměti nebo místní mezipaměti s Azure Cache for Redis, abyste zajistili vysokou dostupnost, škálovatelnost a zabezpečení podnikového stupně.

Jak to funguje

Postup spuštění upgradu nebo migrace najdete v tématu:

  1. Otevřete projekt nebo řešení .NET ve vývojovém prostředí.

  2. Spusťte agenta některou z těchto metod:

    • Visual Studio: Klikněte pravým tlačítkem na řešení nebo projekt v Průzkumník řešení a vyberte Modernize. Nebo otevřete okno GitHub Copilot Chat a zadejte @Modernize.
    • Visual Studio Code: Otevřete panel GitHub Copilot Chat a zadejte @modernize-dotnet.
    • GitHub Copilot CLI: Zadejte @modernize-dotnet a potom požadavek na upgrade nebo migraci.
    • GitHub.com: Použijte agenta kódování modernize-dotnet v úložišti.
  3. Sdělete agentovi, co chcete upgradovat nebo migrovat.

Když se zeptáte agenta modernizace, aby aplikaci upgradoval, Copilot vás nejdřív vyzve k vytvoření nové větve, pokud pracujete v úložišti Git. Pak Copilot vyhodnocuje váš projekt a spouští třífázový pracovní postup. Každá fáze vytvoří soubory .github/upgrades/{scenarioId} Markdownu ve vašem úložišti, abyste si mohli před pokračováním prohlédnout, co se stane dál. Pokud .github/upgrades/{scenarioId} již existuje z předchozího pokusu, Copilot se zeptá, jestli chcete pokračovat nebo začít znovu.

Copilot začne zkoumáním struktury projektu, závislostí a vzorů kódu a sestavením komplexního posouzení. Soubor assessment.md obsahuje seznam zásadních změn, problémy s kompatibilitou rozhraní API, zastaralé vzory a obor upgradu.

Po posouzení Copilot spustí následující tři fáze:

  1. Assessment: Copilot prozkoumá strukturu projektu, závislosti a vzory kódu a následně prezentuje rozhodnutí o strategii kontroly, jako je strategie upgradu (shora nahoru, shora dolů nebo vše najednou), přístup k upgradu projektu, možnosti modernizace technologií a zpracování kompatibility. Copilot uloží potvrzená rozhodnutí do upgrade-options.md.

  2. Planning: Copilot převede posouzení a potvrzené možnosti na podrobnou specifikaci. Soubory plan.md dokumentují strategie upgradu, přístupy refaktoringu, cesty závislostí a zmírnění rizik.

  3. Execution: Copilot rozdělí plán na postupné konkrétní úkoly s ověřovacími kritérii v tasks.md. Každý úkol popisuje jednu změnu a to, jak Copilot potvrdí, že byla úspěšná.

Upravte libovolný soubor Markdownu .github/upgrades/{scenarioId} a upravte kroky upgradu nebo přidejte kontext před tím, než přejdete vpřed.

Strategie upgradu

Během fáze posouzení agent vyhodnotí vaše řešení a doporučí jednu z těchto strategií:

Strategie Nejvhodnější pro Description
Zdola nahoru Rozsáhlá řešení s hlubokými grafy závislostí Nejprve upgraduje koncové projekty, pak pokračuje směrem nahoru.
Shora dolů Rychlá zpětná vazba k hlavní aplikaci Nejprve upgraduje projekt aplikace a pak opraví závislosti.
Vše najednou Malá, jednoduchá řešení Aktualizuje všechny projekty najednou.

Režimy toku

Agent podporuje dva režimy průběhu procesů, které řídí, jak často se pozastaví pro vaši zpětnou vazbu.

  • Automatické: Agent funguje ve všech fázích bez pozastavení a zastavuje se pouze na pravých blokovačích. Nejvhodnější pro zkušené uživatele a jednoduché upgrady.
  • Vedené: Agent se pozastaví na jednotlivých hranicích fáze, abyste mohli před pokračováním zkontrolovat hodnocení, plán a úkoly. Nejvhodnější pro první uživatele a složitá řešení.

Mezi režimy můžete kdykoli přepínat tak, že řeknete "pozastavit" (pro vstup do režimu s asistencí) nebo "pokračovat" (pokud chcete přejít do automatického režimu).

Správa stavu

Agent ukládá veškerý stav upgradu do .github/upgrades/{scenarioId}/. Složka obsahuje:

Soubor Purpose
assessment.md Analýza vašeho řešení
upgrade-options.md Potvrzená rozhodnutí o upgradu
plan.md Uspořádaný plán úkolů
tasks.md Řídicí panel aktuálního průběhu
scenario-instructions.md Trvalá paměť agenta, včetně předvoleb, rozhodnutí a vlastních pokynů
execution-log.md Podrobný záznam auditu všech změn
tasks/{taskId}/task.md Rozsah a kontext pro jednotlivé úkoly
tasks/{taskId}/progress-details.md Poznámky ke spuštění jednotlivých úkolů a výsledky

Protože jsou všechny stavy uloženy v této složce, můžete zavřít IDE, přecházet mezi relacemi nebo dokonce přepínat mezi vývojovými prostředími (například začít ve VS Code a pokračovat ve Visual Studiu). Agent se zvedne tam, kde to skončilo.

Návod

Potvrďte složku .github/upgrades/ do své větve. Záložní stav slouží jako záloha a umožňuje členům týmu zobrazit průběh aktualizace.

Provedení upgradu

Po dokončení každé fáze zkontrolujte a upravte vygenerované soubory podle potřeby a pak řekněte Copilot, aby pokračovali v další fázi.

Jakmile se dostanete do fáze Execution, sdělte Copilot, že chcete spustit upgrade. Pokud Copilot narazí na problém, pokusí se identifikovat příčinu a použít opravu. Pokud Copilot problém nedokáže opravit, požádá o pomoc. Když dojde k zásahu, Copilot se naučí od provedených změn a pokusí se je automaticky použít, pokud se problém objeví znovu.

Výsledky aktualizace

Když Copilot spouští jednotlivé úlohy, aktualizuje tasks.md soubor v .github/upgrades/{scenarioId} se stavem každého kroku. Monitorujte průběh kontrolováním tohoto souboru. Copilot vytvoří potvrzení Gitu pro každou část procesu, takže můžete vrátit změny zpět nebo zkontrolovat, co se změnilo.

Po dokončení upgradu Copilot v odpovědi chatu zobrazí další kroky.

Telemetrie

Nástroj shromažďuje data o typech projektů, záměru upgradovat a dobu trvání upgradu. Vývojové prostředí shromažďuje a agreguje data a neobsahuje žádné identifikovatelné informace uživatele. Další informace o zásadách ochrany osobních údajů Microsoft najdete v tématu Visual Studio Program zlepšování zákaznických zkušeností.