Mi a GitHub Copilot modernizációja?

A GitHub Copilot modernizáció egy GitHub Copilot ügyfél, amely segít a projekteket frissebb .NET verziókra frissíteni és a .NET alkalmazásokat gyorsan, magabiztosan az Azure-ra migrálni. Végigvezeti az értékelésen, a megoldási javaslatokon, a kódjavításokon és az ellenőrzésen a Visual Studio, a Visual Studio Code, a GitHub Copilot parancssori felületén és a GitHub.com-on.

Használja ezt az ügynököt a következőre:

  • Frissítsen a .NET újabb verziójára.
  • Technológiák áttelepítése és üzembe helyezése az Azure-ra.
  • Modernizálja a .NET alkalmazást, különösen .NET-keretrendszerről való frissítéskor.
  • Mérje fel az alkalmazás kódját, konfigurációját és függőségeit.
  • Tervezze meg és állítsa be a megfelelő Azure erőforrást.
  • Javítsa ki a problémákat, és alkalmazza a felhőbe való migrálás ajánlott eljárásait.
  • Ellenőrizze, hogy az alkalmazás sikeresen épül-e és tesztel-e.

Lehetséges helyzetek

Az ügynök több, végponttól végpontig tartó modernizálási munkafolyamatot, úgynevezett forgatókönyveket biztosít. Minden forgatókönyv egy felügyelt munkafolyamat, amely végigvezeti önt egy adott frissítési vagy migrálási típuson:

Scenario Leírás Példakérés
.NET verziófrissítés Frissítés a régebbi .NET verziókról a 8-.NET 9-re, 10-re vagy újabbra. "A megoldás frissítése a .NET 10 verzióra"
SDK-stílusú átalakítás Az örökölt projektformátumot SDK-stílusúvá alakítja. "Konvertálás SDK-stílusra"
Newtonsoft.Json frissítés A Newtonsoft.Json helyére System.Text.Json lép. "Frissítés a Newtonsoft.Json-ról"
SqlClient-frissítés Frissítések a System.Data.SqlClientről a Microsoft.Data.SqlClientre. "SqlClient frissítése"
Azure Functions frissítés Az Azure Functions frissítése a folyamaton belüli modellről izolált feldolgozói modellre. "Az Azure Functions-öm frissítése"
Szemantikus kernel ügynököknek Frissíti a Szemantikus kernel ügynököket a Microsoft ügynök-keretrendszerre. "Az SK-ügynökeim frissítése"

Az összes forgatókönyv és a 30+ beépített frissítési képesség teljes körű ismertetését lásd: Forgatókönyvek és készségek referenciája.

Visszajelzés küldése

Microsoft értékeli a visszajelzést, és az ügynök továbbfejlesztésére használja. Küldjön visszajelzést az alábbi lehetőségek egyikével:

Előfeltételek

Az ügynök használata előtt állítsa be GitHub Copilot modernizálást a fejlesztői környezetben. A telepítés lépéseit a Install GitHub Copilot modernizálás című témakörben találja.

.NET-projektek frissítése

A modernizálási ügynök támogatja a C# és Visual Basic következő típusú projektek frissítését:

  • ASP.NET Core (és a kapcsolódó technológiák, például az MVC, a Razor Pages és a Webes API)
  • Blazor
  • Azure-funkciók
  • Windows megjelenítési alaprendszer (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI és Xamarin
  • Osztálykönyvtárak
  • Konzolalkalmazások
  • Tesztprojektek (MSTest, NUnit és xUnit)

Frissítés indításához lásd: A .NET-alkalmazások frissítése GitHub Copilot modernizálással.

Támogatott frissítési útvonalak

Az ügynök a következő frissítési útvonalakat támogatja:

Forrás Target
.NET Keretrendszer (bármely verzió) .NET 8 vagy újabb
.NET Core 1.x–3.x .NET 8 vagy újabb
.NET 5 vagy újabb .NET 8 vagy újabb

.NET-projektek migrálása Azure

A modernizálási ügynök leegyszerűsíti Azure migrálást az automatizált elemzés, az AI-alapú kód szervizelése, a build- és biztonságirés-ellenőrzések, valamint az üzembe helyezés automatizálása révén:

  • Elemzés és intelligens javaslatok.

    Felmérheti, hogy az alkalmazás készen áll-e a Azure migrálásra, és a függőségei és az azonosított problémák alapján személyre szabott útmutatást kap.

  • AI-alapú kód szervizelése.

    Előre definiált ajánlott eljáráskódminták alkalmazása a modernizáció felgyorsításához minimális manuális erőfeszítéssel.

  • Automatikus buildelés és CVE-felbontás.

    Készítse el az alkalmazást, és oldja meg a fordítási hibákat és biztonsági réseket, és egyszerűsítse a fejlesztést.

  • Zökkenőmentes üzembe helyezés.

    Üzembe helyezés az Azure-ban, a kód gyorsan a fejlesztési szakaszból az éles környezetbe kerül.

Előre definiált feladatok a migráláshoz

GitHub Copilot .NET modernizálása előre meghatározott feladatokat kínál, amelyek rögzítik az iparág ajánlott eljárásait, és lefedik a gyakori migrálási forgatókönyveket.

  • Migrálás a kezelt identitás alapú adatbázisra az Azure-on, kezelével az Azure SQL DB, Azure SQL MI és Azure PostgreSQL

    Az adatréteg modernizálása helyszíni vagy örökölt adatbázisokból (például DB2, Oracle DB vagy SQL Server) Azure SQL ADATBÁZISba, Azure SQL Managed Instance vagy Azure PostgreSQL-be való migrálással. Biztonságos felügyelt identitáshitelesítés használata.

  • Migrate to Azure File Storage

    Helyezze át a fájl I/O-műveleteit a helyi fájlrendszerből a Azure Fájltárolóba méretezhető, felhőalapú fájlkezeléshez.

  • Migrate to Azure Blob Storage

    Váltsa fel a helyszíni, vagy a felhőközi objektumtárolót, vagy a helyi fájlrendszer fájl I/O-műveletét Azure Blob Storage-ra a strukturálatlan adatok tárolásához.

  • Frissítés a Microsoft Entra ID-re

    A modern identitáskezeléshez váltsa át a hitelesítést és az engedélyezést a Windows Active Directory-ről a Microsoft Entra ID -ra (korábban Azure AD-be).

  • Váltson biztonságos hitelesítő adatokra a Felügyelt Identitás és az Azure Key Vault használatával

    Cserélje le az egyszerű szöveges hitelesítő adatokat a konfigurációban vagy a kódban biztonságos, felügyelt identitásokra, és az Azure Key Vault segítségével kezelje a titkokat.

  • Migrate to Azure Service Bus

    Váltson az Amazon SQS-ről (AWS Simple Queue Service), valamint az örökölt vagy harmadik fél által biztosított üzenetküldési sorokról (mint például MSMQ vagy RabbitMQ) a megbízható, felhőalapú üzenettovábbítást biztosító Azure Service Bus-ra.

  • Migráljon az Azure Communication Service e-mailre

    Cserélje le a közvetlen SMTP-e-mailek küldését Azure Kommunikációs szolgáltatásra a méretezhető, biztonságos e-mail-kézbesítés érdekében.

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

    Váltás helyi vagy helyszíni Kafkáról felügyelt eseménystreamelésre a Confluent Cloud vagy Azure Event Hubs használatával.

  • Migrálás az OpenTelemetry-re az Azure-on

    Váltás a helyi naplózási keretrendszerekről, például a log4netről, a Serilogról és Windows eseménynaplóról az OpenTelemetryre Azure.

  • Áttelepítés az Azure Cache for Redis-be felügyelt identitással

    Cserélje le a memóriabeli vagy helyi Redis Cache-implementációkat a magas rendelkezésre állás, a méretezhetőség és a nagyvállalati szintű biztonság érdekében Azure Cache for Redis.

Hogyan működik?

Frissítési vagy migrálási folyamat elindításához lásd:

  1. Nyissa meg a .NET projektet vagy megoldást a fejlesztési környezetben.

  2. Indítsa el az ügynököt az alábbi módszerek egyikével:

    • Visual Studio: Kattintson a jobb gombbal a megoldásra vagy projektre a Megoldáskezelő és válassza a Modernize lehetőséget. Vagy nyissa meg a GitHub Copilot Chat ablakot, és írja be a @Modernize.
    • Visual Studio Code: Nyissa meg a GitHub Copilot Chat panelt, és írja be a @modernize-dotnet.
    • GitHub Copilot parancssori felület: Írja be a @modernize-dotnet, majd a frissítési vagy migrálási kérést.
    • GitHub.com: Használja a modernize-dotnet kódolóügynököt az adattárban.
  3. Mondja el az ügynöknek, hogy mit frissítsen vagy migráljon.

Amikor megkéri a modernizációs ügynököt az alkalmazásának frissítésére, a Copilot először arra kéri, hogy hozzon létre egy új ágat, ha egy Git-adattárban dolgozik. Ezután Copilot értékeli a projektet, és futtat egy háromfázisú munkafolyamatot. Minden fázis Markdown-fájlokat .github/upgrades/{scenarioId} hoz létre az adattárában, így a folytatás előtt áttekintheti, mi következik. Ha .github/upgrades/{scenarioId} már létezik egy korábbi kísérletből, Copilot megkérdezi, hogy folytatja-e a műveletet, vagy kezdjen-e újra.

Copilot a projekt struktúrájának, függőségeinek és kódmintáinak vizsgálatával kezdődik, hogy átfogó értékelést hozzon létre. A assessment.md fájl felsorolja a kompatibilitástörő változásokat, az API kompatibilitási problémáit, az elavult mintákat és a frissítési hatókört.

Az értékelés után Copilot a következő három szakaszt futtatja:

  1. Assessment: Copilot megvizsgálja a projektstruktúrát, a függőségeket és a kódmintákat, majd bemutatja a felülvizsgálathoz szükséges stratégiai döntéseket, például a frissítési stratégiát (alulról felfelé, felülről lefelé vagy egyszerre), a projektfrissítési megközelítést, a technológia modernizálási lehetőségeit és a kompatibilitás kezelését. Copilot mentette a megerősített döntéseket upgrade-options.md.

  2. Planning: Copilot az értékelést és a megerősített beállításokat részletes specifikációvá alakítja. A plan.md fájl a frissítési stratégiákat, a megközelítések újrabontását, a függőségi útvonalakat és a kockázatcsökkentéseket dokumentálja.

  3. Execution: Copilot a tervet szekvenciális, konkrét tevékenységekre bontja tasks.md érvényesítési feltételekkel. Minden tevékenység egyetlen módosítást ír le, és azt, hogy Copilot hogyan erősíti meg a sikerességét.

A frissítési lépések módosításához vagy a kontextus hozzáadásához szerkessze bármelyik Markdown-fájlt .github/upgrades/{scenarioId} mielőtt továbblépne.

Frissítési stratégiák

Az értékelési szakaszban az ügynök kiértékeli a megoldást, és az alábbi stratégiák egyikét javasolja:

Stratégia A következőkre alkalmas Leírás
Alulról felfelé Nagy megoldások mély függőségi gráfokkal Először a hierarchia alján lévő projekteket frissíti, majd halad felfelé.
Felülről lefelé Gyors visszajelzés a fő alkalmazásról Először frissíti az alkalmazásprojektet, majd kijavítja a függőségeket.
Egyszerre Kicsi, egyszerű megoldások Az összes projektet egy lépésben frissíti.

Folyamatmódok

Az ügynök két olyan folyamatmódot támogat, amelyek szabályozzák, hogy mennyi ideig szünetel a bemenet:

  • Automatikus: Az ügynök az összes fázisban szüneteltetés nélkül működik, és csak a valódi blokkolóknál áll meg. Tapasztalt felhasználók és egyszerű frissítések esetén a legjobb.
  • Vezetett: Az ügynök minden fázishatárnál megáll, így a folytatás előtt átnézheti a tervet, az értékelést és a feladatokat. Első alkalommal használt felhasználók és összetett megoldások esetén a legjobb.

Váltson a módok között bármikor a "szüneteltetés" (irányított mód beírásához) vagy a "folytatás" (az automatikus mód megadásához).

Állapotkezelés

Az ügynök az összes frissítési állapotot a következő helyen .github/upgrades/{scenarioId}/tárolja: . A mappa a következőket tartalmazza:

fájl Alkalmazás célja
assessment.md A megoldás elemzése
upgrade-options.md Megerősített frissítési döntések
plan.md Rendezett tevékenységterv
tasks.md Élő folyamat irányítópultja
scenario-instructions.md Az ügynök állandó memóriája, beleértve a beállításokat, a döntéseket és az egyéni utasításokat
execution-log.md Az összes változás részletes auditnaplója
tasks/{taskId}/task.md Tevékenységenkénti hatókör és környezet
tasks/{taskId}/progress-details.md Feladatonkénti végrehajtási jegyzetek és eredmények

Mivel minden állapot ebben a mappában található, bezárhatja az IDE-t, válthat a munkamenetek között, vagy válthat a fejlesztési környezetek között (például a VS Code-ban kezdheti, és folytathatja a Visual Studio). Az ügynök ott veszi fel, ahol abbahagyta.

Jótanács

Véglegesítse a .github/upgrades/ mappát az ágon. A véglegesített állapot biztonsági mentésként szolgál, és lehetővé teszi a csapattagok számára a frissítés előrehaladásának megtekintését.

A frissítés végrehajtása

Az egyes fázisok befejezése után szükség szerint tekintse át és módosítsa a létrehozott fájlokat, majd mondja meg Copilot, hogy folytassa a következő szakaszt.

Amikor eléri a Execution szakaszt, kérje meg Copilot, hogy indítsa el a frissítést. Ha Copilot problémába ütközik, megpróbálja azonosítani az okot, és kijavítani. Ha Copilot nem tudja kijavítani a problémát, segítséget kér. Amikor beavatkozik, Copilot tanul a végrehajtott módosításokból, és megpróbálja automatikusan alkalmazni őket, ha a probléma ismét felmerül.

A frissítés eredményei

Mivel Copilot minden feladatot futtat, a tasks.md.github/upgrades/{scenarioId} fájlját frissíti minden lépés állapotával. A fájl áttekintésével monitorozza az előrehaladást. Copilot létrehoz egy Git-véglegesítést a folyamat minden részére, így visszaállíthatja a módosításokat, vagy áttekintheti a módosításokat.

Amikor a frissítés befejeződik, Copilot megjeleníti a következő lépéseket a csevegési válaszban.

Telemetria

Az eszköz adatokat gyűjt a projekttípusokról, a frissítési szándékról és a frissítés időtartamáról. A fejlesztői környezet összegyűjti és összesíti az adatokat, és nem tartalmaz felhasználó által azonosítható információkat. További információ Microsoft adatvédelmi szabályzatáról: Visual Studio Customer Experience Improvement Program.