Vad innebär moderniseringen av GitHub Copilot?

GitHub Copilot-modernisering är en agent för GitHub Copilot som hjälper dig att uppgradera projekt till nyare versioner av .NET och migrera .NET-program snabbt och säkert till Azure. Den vägleder dig genom utvärdering, lösningsrekommendationer, kodkorrigeringar och validering över Visual Studio, Visual Studio Code, GitHub Copilot CLI och GitHub.com.

Använd den här agenten för att:

  • Uppgradera till en nyare version av .NET.
  • Migrera tekniker och distribuera till Azure.
  • Modernisera din .NET app, särskilt när du uppgraderar från .NET Framework.
  • Utvärdera programmets kod, konfiguration och beroenden.
  • Planera och konfigurera rätt Azure resurs.
  • Åtgärda problem och tillämpa metodtips för molnmigrering.
  • Verifiera att din app har skapats och testats.

Scenarier

Agenten tillhandahåller flera arbetsflöden för modernisering från slutpunkt till slutpunkt som kallas scenarier. Varje scenario är ett hanterat arbetsflöde som vägleder dig genom en viss typ av uppgradering eller migrering:

Scenario Beskrivning Exempelprompt
.NET versionsuppgradering Uppgraderingar från äldre .NET versioner till .NET 8, 9, 10 eller senare. "Uppgradera min lösning till .NET 10"
Konvertering i SDK-stil Konverterar äldre projektformat till SDK-format. "Konvertera till SDK-format"
Newtonsoft.Json-uppgradering Ersätter Newtonsoft.Json med System.Text.Json. "Uppgradera från Newtonsoft.Json"
SqlClient-uppgradering Uppgraderar från System.Data.SqlClient till Microsoft. Data.SqlClient. "Uppdatera SqlClient"
Azure Functions-uppgradering Uppgraderar Azure Functions från in-process till isolerad arbetsmodell. "Uppgradera mina Azure-funktioner"
Semantic Kernel för agenter Uppgraderar Semantic Kernel agenter till Microsoft Agent Framework. "Uppgradera mina SK-agenter"

En fullständig referens till alla scenarier och över 30 inbyggda uppgraderingskunskaper finns i Scenarier och kompetensreferens.

Lämna feedback

Microsoft värdesätter din feedback och använder den för att förbättra agenten. Lämna feedback med något av följande alternativ:

Förutsättningar

Konfigurera GitHub Copilot modernisering i utvecklingsmiljön innan du använder agenten. För installationssteg, se Installera GitHub Copilot uppdatering.

Uppgradera .NET projekt

Moderniseringsagenten stöder uppgradering av C# och Visual Basic projekt av följande typer:

  • ASP.NET Core (och relaterade tekniker som MVC, Razor Pages och Webb-API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI och Xamarin
  • Klassbibliotek
  • Konsolappar
  • Testprojekt (MSTest, NUnit och xUnit)

Information om hur du startar en uppgradering finns i Uppgradera en .NET app med GitHub Copilot modernisering.

Uppgraderingsvägar som stöds

Agenten stöder följande uppgraderingssökvägar:

Källa Mål
.NET Framework (vilken som helst version) .NET 8 eller senare
.NET Core 1.x–3.x .NET 8 eller senare
.NET 5 eller senare .NET 8 eller senare

Migrera .NET projekt till Azure

Moderniseringsagenten förenklar Azure migreringar via automatiserad analys, AI-driven kodreparation, bygg- och sårbarhetskontroller samt distributionsautomatisering:

  • Analys och intelligenta rekommendationer.

    Utvärdera programmets beredskap för Azure migrering och få skräddarsydd vägledning baserat på dess beroenden och identifierade problem.

  • AI-baserad kodreparation.

    Använd fördefinierade metodtipskodmönster för att påskynda moderniseringen med minimal manuell ansträngning.

  • Automatisk build- och CVE-upplösning.

    Skapa din app och lös kompileringsfel och sårbarheter, effektivisera utvecklingen.

  • Sömlös distribution.

    Distribuera till Azure och ta koden från utveckling till produktion snabbare.

Fördefinierade uppgifter för migrering

GitHub Copilot modernisering av .NET erbjuder fördefinierade uppgifter som samlar in branschtips och omfattar vanliga migreringsscenarier.

  • Migrera till hanterad identitetsbaserad databas på Azure, inklusive Azure SQL DB, Azure SQL MI och Azure PostgreSQL

    Modernisera ditt datalager genom att migrera från lokala eller äldre databaser (till exempel DB2, Oracle DB eller SQL Server) till Azure SQL DB, Azure SQL Managed Instance eller Azure PostgreSQL. Använd säker hanterad identitetsautentisering.

  • Migrera till Azure File Storage

    Flytta fil-I/O-åtgärder från det lokala filsystemet till Azure Fillagring för skalbar, molnbaserad filhantering.

  • Migrera till Azure Blob Storage

    Ersätt lokal eller molnöverskridande objektlagring eller lokal filsystemfils-I/O med Azure Blob Storage för ostrukturerade data.

  • Migrera till Microsoft Entra ID

    Överföra autentisering och auktorisering från Windows služba Active Directory till Microsoft Entra ID (tidigare Azure AD) för modern identitetshantering.

  • Migrera till skyddade autentiseringsuppgifter med hjälp av Hanterad identitet och Azure Key Vault

    Ersätt autentiseringsuppgifter i klartext i konfiguration eller kod med säkra, hanterade identiteter och Azure Key Vault för hantering av hemligheter.

  • Migrera till Azure Service Bus

    Gå från äldre meddelandeköer eller meddelandeköer från tredje part (till exempel MSMQ eller RabbitMQ) eller Amazon SQS (AWS Simple Queue Service) till Azure Service Bus för tillförlitliga, molnbaserade meddelanden.

  • Migrera till e-post i Azure Communication Service

    Ersätt direkt SMTP-e-postsändning med Azure Communication Service för skalbar och säker e-postleverans.

  • Migrera till Confluent Cloud/Azure Event Hub för Apache Kafka

    Övergå från lokal eller lokal Kafka till hanterad händelseströmning med Confluent Cloud eller Azure Event Hubs.

  • Migrera till OpenTelemetry på Azure

    Gå från lokala loggningsramverk som log4net, Serilog och Windows händelselogg till OpenTelemetry på Azure.

  • Migrera till Azure Cache for Redis med hjälp av Hanterad identitet

    Ersätt implementeringar i minnet eller lokal Redis-cache med Azure Cache for Redis för hög tillgänglighet, skalbarhet och säkerhet i företagsklass.

Så här fungerar det

Information om hur du startar en uppgraderings- eller migreringsprocess finns i:

  1. Öppna ditt .NET projekt eller din lösning i utvecklingsmiljön.

  2. Starta agenten med någon av följande metoder:

    • Visual Studio: Högerklicka på lösningen eller projektet i Prieskumník riešení och välj Modernize. Du kan också öppna fönstret GitHub Copilot Chat och skriva @Modernize.
    • Visual Studio Code: Öppna panelen GitHub Copilot Chat och skriv @modernize-dotnet.
    • GitHub Copilot CLI: Skriv @modernize-dotnet följt av din uppgraderings- eller migreringsbegäran.
    • GitHub.com: Använd kodningsagenten modernize-dotnet på lagringsplatsen.
  3. Tala om för agenten vad som ska uppgraderas eller migreras.

När du ber moderniseringsagenten att uppgradera din app uppmanar Copilot dig först att skapa en ny gren om du arbetar på en Git-lagringsplats. Sedan utvärderar Copilot projektet och kör ett arbetsflöde i tre steg. Varje steg skapar Markdown-filer under .github/upgrades/{scenarioId} på lagringsplatsen så att du kan granska vad som kommer härnäst innan du fortsätter. Om .github/upgrades/{scenarioId} redan finns från ett tidigare försök frågar Copilot om du vill fortsätta eller börja om på nytt.

Copilot börjar med att undersöka projektstrukturen, beroendena och kodmönstren för att skapa en omfattande utvärdering. Filen assessment.md listar kritiska ändringar, API-kompatibilitetsproblem, avrådda mönster och uppgraderingsomfånget.

Efter utvärderingen kör Copilot följande tre steg:

  1. Assessment: Copilot undersöker projektstrukturen, beroendena och kodmönstren och presenterar sedan strategibeslut för din granskning, till exempel uppgraderingsstrategin (nedifrån och upp, uppifrån och ned eller på en gång), projektuppgraderingsmetod, teknikmoderniseringsalternativ och kompatibilitetshantering. Copilot sparar bekräftade beslut till upgrade-options.md.

  2. Planning: Copilot konverterar utvärderingen och dina bekräftade alternativ till en detaljerad specifikation. Filen plan.md dokumenterar uppgraderingsstrategier, refaktoriseringsmetoder, beroendesökvägar och riskreducering.

  3. Execution: Copilot delar upp planen i sekventiella, konkreta uppgifter med valideringskriterier i tasks.md. Varje uppgift beskriver en enskild ändring och hur Copilot bekräftar att den lyckades.

Redigera någon av Markdown-filerna i .github/upgrades/{scenarioId} för att justera uppgraderingsstegen eller lägga till kontext innan du går vidare.

Uppgraderingsstrategier

Under utvärderingsfasen utvärderar agenten din lösning och rekommenderar en av följande strategier:

Strategi Passar bäst för Beskrivning
Nedifrån och upp Stora lösningar med djupa beroendediagram Uppgraderar lövprojekt först och fortsätter sedan uppåt.
Uppifrån och ned Snabb feedback om huvudprogrammet Uppgraderar programprojektet först och åtgärdar sedan beroenden.
Allt-på-en-gång Små, enkla lösningar Uppgraderar alla projekt i ett enda pass.

Flödeslägen

Agenten stöder två flödeslägen som styr hur mycket den pausar för dina indata:

  • Automatisk: Agenten arbetar igenom alla steg utan att pausa och stoppa endast vid äkta blockerare. Bäst för erfarna användare och enkla uppgraderingar.
  • Guidade: Agenten pausar vid varje steggräns så att du kan granska utvärderingen, planen och uppgifterna innan du fortsätter. Bäst för förstagångsanvändare och komplexa lösningar.

Växla mellan lägen när som helst genom att säga "pausa" (för att ange guidat läge) eller "fortsätt" (för att ange automatiskt läge).

Statushantering

Agenten lagrar alla uppgraderingstillstånd i .github/upgrades/{scenarioId}/. Mappen innehåller:

Arkiv Avsikt
assessment.md Analys av din lösning
upgrade-options.md Bekräftade uppgraderingsbeslut
plan.md Ordnad aktivitetsplan
tasks.md Instrumentpanel för live-förlopp
scenario-instructions.md Agentens beständiga minne, inklusive inställningar, beslut och anpassade instruktioner
execution-log.md Detaljerad spårningslogg för alla ändringar
tasks/{taskId}/task.md Omfång och kontext per aktivitet
tasks/{taskId}/progress-details.md Utförande av uppgift-specifika kommentarer och resultat

Eftersom alla tillstånd finns i den här mappen kan du stänga din IDE, växla mellan sessioner eller till och med växla mellan utvecklingsmiljöer (till exempel starta i VS Code och fortsätta i Visual Studio). Agenten fortsätter där den slutade.

Tips/Råd

Lägg till mappen .github/upgrades/ i din gren. Det bekräftade tillståndet fungerar som en säkerhetskopia och låter teammedlemmar visa uppgraderingsstatus.

Genomför uppgraderingen

När varje steg är klart granskar och ändrar du de genererade filerna efter behov och uppmanar sedan Copilot att fortsätta till nästa steg.

När du når fasen Execution ber du Copilot starta uppgraderingen. Om Copilot stöter på ett problem försöker den identifiera orsaken och tillämpa en korrigering. Om Copilot inte kan åtgärda problemet ber den om hjälp. När du ingriper lär Copilot dig av de ändringar du gör och försöker tillämpa dem automatiskt om problemet uppstår igen.

Uppgraderingsresultat

När Copilot kör varje uppgift uppdateras filen tasks.md i .github/upgrades/{scenarioId} med status för varje steg. Övervaka förloppet genom att granska den här filen. Copilot skapar en Git-incheckning för varje del av processen, så att du kan återställa ändringar eller granska vad som har ändrats.

När uppgraderingen är klar visar Copilot nästa steg i chattsvaret.

Telemetri

Verktyget samlar in data om projekttyper, avsikten att uppgradera och uppgraderingens varaktighet. Utvecklingsmiljön samlar in och aggregerar data och innehåller ingen användar identifierbar information. Mer information om Microsoft sekretesspolicy finns i Visual Studio Customer Experience Improvement Program.