Udostępnij za pośrednictwem


Czym jest unowocześnienie GitHub Copilot?

Modernizacja GitHub Copilot to agent GitHub Copilot, który ułatwia uaktualnianie projektów do nowszych wersji .NET i migrowanie aplikacji .NET do Azure szybko i z pewnością siebie. Przeprowadzi Cię przez proces oceny, zaleceń dotyczących rozwiązań, poprawek kodu i weryfikacji w Visual Studio, Visual Studio Code, interfejsie wiersza polecenia GitHub Copilot i GitHub.com.

Użyj tego agenta, aby:

  • Uaktualnij do nowszej wersji .NET.
  • Migrowanie technologii i wdrażanie w Azure.
  • Modernizuj aplikację .NET, szczególnie podczas uaktualniania z platformy .NET Framework.
  • Oceń kod, konfigurację i zależności aplikacji.
  • Zaplanuj i skonfiguruj odpowiedni zasób Azure.
  • Rozwiąż problemy i zastosuj najlepsze rozwiązania dotyczące migracji do chmury.
  • Sprawdź, czy aplikacja kompiluje i testuje pomyślnie.

Scenariusze

Agent udostępnia wiele kompleksowych przepływów pracy związanych z modernizacją nazywanych scenariuszami. Każdy scenariusz to zarządzany przepływ pracy, który przeprowadzi Cię przez określony typ uaktualnienia lub migracji:

Scenario Opis Przykładowy monit
aktualizacja wersji .NET Uaktualnia starsze wersje .NET do .NET 8, 9, 10 lub nowszych. "Zaktualizuj moje rozwiązanie do .NET 10"
Konwersja w stylu zestawu SDK Konwertuje starszy format projektu na styl zestawu SDK. "Konwertuj na styl SDK"
Migracja pliku Newtonsoft.Json Zastępuje plik Newtonsoft.Json plikiem System.Text.Json. "Migrowanie z pliku Newtonsoft.Json"
Migracja programu SqlClient Migruje z System.Data.SqlClient do Microsoft.Data.SqlClient. "Aktualizowanie klienta SqlClient"
Aktualizacja Azure Functions Uaktualnia Azure Functions z modelu wewnętrznego do modelu izolowanego pracownika. "Zaktualizuj moje Azure Functions"
Semantic Kernel do agentów Migruje agentów Semantic Kernel do agentów AI Microsoftu. "Migrowanie agentów SK"

Aby uzyskać pełną dokumentację wszystkich scenariuszy i 30+ wbudowanych umiejętności migracji, zobacz Scenariusze i dokumentacja umiejętności.

Prześlij opinię

Microsoft wartości opinii i używa ich do ulepszania agenta. Prześlij opinię, korzystając z jednej z następujących opcji:

Wymagania wstępne

Skonfiguruj GitHub Copilot w środowisku programistycznym przed użyciem agenta. Aby uzyskać instrukcje instalacji, zobacz Instalacja GitHub Copilot Modernization.

Uaktualnianie projektów .NET

Agent modernizacji obsługuje uaktualnianie projektów języka C# i Visual Basic następujących typów:

  • ASP.NET Core (i powiązane technologie, takie jak MVC, Razor Pages i Web API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI i Xamarin
  • Biblioteki klas
  • Aplikacje konsolowe
  • Projekty testowe (MSTest, NUnit i xUnit)

Aby rozpocząć uaktualnianie, zobacz Uaktualnij aplikację .NET przy użyciu modernizacji GitHub Copilot.

Obsługiwane ścieżki uaktualniania

Agent obsługuje następujące ścieżki uaktualniania:

Źródło Obiekt docelowy
.NET Framework (dowolna wersja) .NET 8 lub później
.NET Core 1.x–3.x .NET 8 lub później
.NET 5 lub późniejsza .NET 8 lub później

Migrowanie projektów .NET do Azure

Agent modernizacji upraszcza migracje Azure poprzez zautomatyzowaną analizę, poprawę kodu z wykorzystaniem sztucznej inteligencji, analizę kompilacji, identyfikację wrażliwości oraz automatyzację wdrażania.

  • Analiza i inteligentne zalecenia.

    Oceń gotowość aplikacji do migracji Azure i uzyskaj dostosowane wskazówki na podstawie zależności i zidentyfikowanych problemów.

  • Korygowanie kodu opartego na sztucznej inteligencji.

    Zastosuj wstępnie zdefiniowane wzorce kodu najlepszych rozwiązań, aby przyspieszyć modernizację z minimalnym nakładem pracy ręcznej.

  • Automatyczne kompilowanie i rozwiązywanie CVE.

    Skompiluj aplikację i rozwiąż błędy kompilacji oraz luki w zabezpieczeniach, usprawniając programowanie.

  • Bezproblemowe wdrażanie.

    Wdróż na Azure, szybciej przenosząc kod z fazy programowania do środowiska produkcyjnego.

Wstępnie zdefiniowane zadania migracji

GitHub Copilot w zakresie modernizacji dla .NET oferuje wstępnie zdefiniowane zadania, które uchwytują uznane praktyki branżowe i obejmują typowe scenariusze migracji.

  • Migruj do bazy danych opartej na Managed Identity na platformie Azure, w tym Azure SQL DB, Azure SQL MI i Azure PostgreSQL

    Modernizuj warstwę danych, migrując z lokalnych lub starszych baz danych (takich jak DB2, Oracle DB lub SQL Server) do usługi Azure SQL DB, Azure SQL Managed Instance lub Azure PostgreSQL. Użyj uwierzytelniania zarządzanej tożsamości, które jest bezpieczne.

  • Migrate to Azure File Storage

    Przenieś operacje we/wy plików z lokalnego systemu plików do usługi Azure File Storage w celu skalowalnego, opartego na chmurze zarządzania plikami.

  • Przejdź do usługi Azure Blob Storage

    Zastąp lokalny magazyn obiektów, magazyn międzychmurowy lub lokalne wejście/wyjście plików systemu plików magazynem Azure Blob Storage dla danych niestrukturalnych.

  • Migracja do Microsoft Entra ID

    Przejście uwierzytelniania i autoryzacji z Windows Active Directory do Microsoft Entra ID (dawniej Azure AD) na potrzeby nowoczesnego zarządzania tożsamościami.

  • Migruj na zabezpieczone poświadczenia przy użyciu zarządzanej tożsamości i Azure Key Vault

    Zastąp poświadczenia w postaci zwykłego tekstu w konfiguracji lub kodzie bezpiecznymi, zarządzanymi tożsamościami oraz użyj Azure Key Vault do zarządzania tajemnicami.

  • Migracja do Azure Service Bus

    Przenieś się z przestarzałych lub zewnętrznych firm kolejek komunikatów (takich jak MSMQ lub RabbitMQ) lub Amazon SQS (AWS Simple Queue Service) do Azure Service Bus dla niezawodnej komunikacji opartej na chmurze.

  • Przejdź do usługi e-mail Azure Communication Service

    Zastąp bezpośrednie wysyłanie wiadomości e-mail SMTP usługą Azure Communication Service w celu zapewnienia skalowalnego, bezpiecznego dostarczania poczty e-mail.

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

    Przejście z lokalnej lub w siedzibie firmy platformy Kafka do zarządzanego przesyłania strumieni zdarzeń za pomocą Confluent Cloud lub Azure Event Hubs.

  • Przeprowadź migrację do OpenTelemetry w Azure

    Przejście z lokalnych struktur rejestrowania, takich jak log4net, Serilog i Windows Event Log do frameworku OpenTelemetry na platformie Azure.

  • Migruj do Azure Cache for Redis przy użyciu tożsamości zarządzanej

    Zastąp implementacje pamięci podręcznej Redis w pamięci operacyjnej lub lokalnej usługą Azure Cache for Redis, aby zapewnić wysoką dostępność, skalowalność i zabezpieczenia klasy korporacyjnej.

Jak to działa

Aby rozpocząć proces uaktualniania lub migracji, zobacz:

  1. Otwórz projekt lub rozwiązanie .NET w środowisku projektowym.

  2. Uruchom agenta przy użyciu jednej z następujących metod:

    • Visual Studio: kliknij prawym przyciskiem myszy rozwiązanie lub projekt w Eksplorator rozwiązań i wybierz Modernize. Możesz też otworzyć okno GitHub Copilot Chat i wpisz @Modernize.
    • Visual Studio Code: Otwórz GitHub Copilot Chat panelu i wpisz @modernize-dotnet.
    • interfejs wiersza polecenia GitHub Copilot: wpisz @modernize-dotnet, a następnie żądanie uaktualnienia lub migracji.
    • GitHub.com: użyj agenta kodowania modernize-dotnet w repozytorium.
  3. Poinformuj agenta, co należy uaktualnić lub zmigrować.

Gdy poprosisz agenta modernizacji o uaktualnienie aplikacji, Copilot najpierw wyświetli monit o utworzenie nowej gałęzi, jeśli pracujesz w repozytorium Git. Następnie Copilot ocenia projekt i uruchamia trzyetapowy przepływ pracy. Każdy etap tworzy pliki Markdown w .github/upgrades/{scenarioId} w twoim repozytorium, dzięki czemu możesz przejrzeć, co nadejdzie potem, zanim przejdziesz dalej. Jeśli .github/upgrades/{scenarioId} już istnieje z wcześniejszej próby, Copilot pyta, czy kontynuować, czy rozpocząć od nowa.

Copilot rozpoczyna się od zbadania struktury projektu, zależności i wzorców kodu w celu utworzenia kompleksowej oceny. Plik assessment.md zawiera listę zmian powodujących niekompatybilność, problemy ze zgodnością interfejsu API, przestarzałe wzorce i zakres aktualizacji.

Po przeprowadzeniu oceny Copilot uruchamia następujące trzy etapy:

  1. Assessment: Copilot analizuje strukturę projektu, zależności i wzorce kodu, a następnie przedstawia decyzje dotyczące strategii przeglądu, takie jak strategia uaktualniania (od dołu do góry, od góry do góry lub wszystko na raz), podejście migracji projektu, opcje modernizacji technologii i obsługa zgodności. Copilot zapisuje potwierdzone decyzje w upgrade-options.md.

  2. Planning: Copilot konwertuje ocenę i potwierdzone opcje na szczegółową specyfikację. Plik plan.md dokumentuje strategie uaktualniania, metody refaktoryzacji, ścieżki zależności i środki zaradcze ryzyka.

  3. Execution: Copilot dzieli plan na sekwencyjne, konkretne zadania z kryteriami weryfikacji w tasks.md. Każde zadanie opisuje jedną zmianę i sposób, w jaki Copilot potwierdza, że zakończyło się pomyślnie.

Przed kontynuowaniem zmodyfikuj dowolne pliki Markdown w .github/upgrades/{scenarioId}, aby dostosować kroki uaktualniania lub dodać kontekst.

Strategie uaktualniania

Podczas etapu oceny agent ocenia rozwiązanie i zaleca jedną z następujących strategii:

Strategia Najlepsze dla Opis
Dolna góra Duże rozwiązania z głębokimi grafami zależności Najpierw uaktualnia projekty liści, a następnie działa w górę.
Od góry do dołu Szybka opinia na temat głównej aplikacji Najpierw uaktualnia projekt aplikacji, a następnie naprawia zależności.
Wszystkie na raz Małe, proste rozwiązania Aktualizuje wszystkie projekty w jednym kroku.

Tryby przepływu

Agent obsługuje dwa tryby przepływu, które kontrolują, jak długo wstrzymuje się, oczekując na Twoje dane wejściowe.

  • Automatyczne: Agent działa przez wszystkie etapy bez wstrzymania, zatrzymując się tylko na prawdziwych blokadach. Odpowiednie dla doświadczonych użytkowników i prostych aktualizacji.
  • Kierować: Agent wstrzymuje się na każdej granicy etapu, aby można było przejrzeć ocenę, plan i zadania przed kontynuowaniem. Najlepsze dla nowych użytkowników i skomplikowanych rozwiązań.

Przełączaj się między trybami w dowolnym momencie, mówiąc "wstrzymaj" (aby wprowadzić tryb z przewodnikiem) lub "kontynuuj" (aby przejść do trybu automatycznego).

Zarządzanie stanem

Agent przechowuje cały stan uaktualniania w programie .github/upgrades/{scenarioId}/. Folder zawiera:

Plik Purpose
assessment.md Analiza rozwiązania
upgrade-options.md Potwierdzone decyzje dotyczące aktualizacji
plan.md Uporządkowany plan zadania
tasks.md Tablica postępu w czasie rzeczywistym
scenario-instructions.md Pamięć trwała agenta, w tym preferencje, decyzje i instrukcje niestandardowe
execution-log.md Szczegółowy dziennik inspekcji wszystkich zmian
tasks/{taskId}/task.md Zakres i kontekst poszczególnych zadań
tasks/{taskId}/progress-details.md Uwagi i wyniki wykonywania poszczególnych zadań

Ponieważ cały stan znajduje się w tym folderze, możesz zamknąć środowisko IDE, przełączać się między sesjami, a nawet przełączać się między środowiskami projektowymi (na przykład uruchomić program VS Code i kontynuować w Visual Studio). Agent kontynuuje od miejsca, w którym przerwał.

Napiwek

Zatwierdź folder .github/upgrades/ na swoją gałąź. Zatwierdzony stan służy jako kopia zapasowa i umożliwia członkom zespołu wyświetlanie postępu aktualizacji.

Wykonaj uaktualnianie

Po zakończeniu każdego etapu przejrzyj i zmodyfikuj wygenerowane pliki w razie potrzeby, a następnie poproś Copilot, aby przeszedł do następnego etapu.

Po osiągnięciu etapu Execution poinformuj Copilot o rozpoczęciu uaktualniania. Jeśli w Copilot wystąpi problem, spróbuje zidentyfikować przyczynę i zastosować poprawkę. Jeśli Copilot nie może rozwiązać problemu, poprosi o pomoc. Gdy interweniujesz, Copilot uczy się z wprowadzanych zmian i próbuje je automatycznie zastosować, jeśli problem pojawi się ponownie.

Wyniki aktualizacji

Gdy Copilot uruchamia każde zadanie, aktualizuje plik tasks.md w .github/upgrades/{scenarioId} ze stanem każdego kroku. Monitoruj postęp, przeglądając ten plik. Copilot tworzy zatwierdzenie usługi Git dla każdej części procesu, aby można było wycofać zmiany lub przejrzeć zmiany.

Po zakończeniu uaktualniania Copilot wyświetli następne kroki w odpowiedzi na czat.

Telemetria

Narzędzie zbiera dane dotyczące typów projektów, intencji uaktualnienia i czasu trwania uaktualniania. Środowisko programistyczne zbiera i agreguje dane i nie zawiera żadnych informacji umożliwiających identyfikację użytkownika. Aby uzyskać więcej informacji na temat zasad ochrony prywatności Microsoft, zobacz Visual Studio Customer Experience Improvement Program.