Co to jest uaktualnienie GitHub Copilot?

GitHub Copilot uaktualnienie to agent GitHub Copilot, który ułatwia uaktualnianie projektów do nowszych wersji .NET szybko i pewnie. 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 platformy .NET.
  • Modernizuj aplikację .NET, szczególnie podczas uaktualniania z platformy .NET Framework.
  • Oceń kod, konfigurację i zależności aplikacji.
  • Sprawdź, czy aplikacja kompiluje i testuje pomyślnie.

Scenarios

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 Description 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"
Uaktualnianie pliku Newtonsoft.Json Zastępuje plik Newtonsoft.Json plikiem System.Text.Json. "Uaktualnienie z Newtonsoft.Json"
Uaktualnienie klienta SqlClient Uaktualnia program 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 Uaktualnia agentów Semantic Kernel do platformy agentów Microsoft. "Zaktualizuj agentów SK"
Integracja usługi Aspire Dodaje obsługę Aspire dla inner-loop i wdrożeń na platformie Azure. "Dodaj Aspire do mojej aplikacji"
Aspire uaktualnienie wersji Uaktualnia istniejące Aspire aplikacje do nowszych wersji. "Uaktualnij moją Aspire wersję"
Uaktualnianie programu WebForms do platformy Blazor Uaktualnia aplikacje ASP.NET Web Forms do platformy Blazor. "Migrowanie mojej aplikacji formularzy internetowych do platformy Blazor"

Aby uzyskać pełne odniesienie do wszystkich scenariuszy i ponad 30 wbudowanych umiejętności ulepszania, zobacz Scenariusze i przewodnik 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

Przed użyciem agenta skonfiguruj GitHub Copilot uaktualnienie w środowisku deweloperów. Aby uzyskać instrukcje instalacji, zobacz Instalowanie uaktualnienia GitHub Copilot.

Uaktualnianie projektów platformy .NET

Agent uaktualniania 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)
  • ASP.NET Web Forms
  • 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 Uaktualnianie aplikacji .NET przy użyciu GitHub Copilot uaktualnienia.

Obsługiwane ścieżki uaktualniania

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

Source Target
.NET Framework (dowolna wersja) .NET 8 lub nowszy
.NET Framework (dowolna wersja) .NET Framework 4.8.1
.NET Core 1.x–3.x .NET 8 lub nowszy
.NET 5 lub nowszy .NET 8 lub nowszy

Migrowanie projektów .NET do Azure

Aby przeprowadzić migrację aplikacji .NET do Azure, użyj agenta modernizacji GitHub Copilot. Agent modernizacji obsługuje scenariusze specyficzne dla Azure, takie jak migracja bazy danych, magazyn, tożsamość, obsługa komunikatów i wdrażanie.

Monitorowanie uaktualnień za pomocą pulpitu nawigacyjnego

Pulpit nawigacyjny uaktualniania udostępnia wizualny widok sesji uaktualniania w interfejsie wiersza polecenia GitHub Copilot i aplikacji GitHub Copilot. Użyj swoich paneli, aby śledzić ogólny postęp, scenariusze, zadania, projekty, zależności, wyniki oceny, opcje uaktualniania i aktywność agenta.

Aby otworzyć pulpit nawigacyjny, poproś Copilot o wyświetlenie go podczas sesji uaktualniania. Pulpit nawigacyjny nie jest obecnie dostępny w Visual Studio, Visual Studio Code ani w innych środowiskach IDE. Aby uzyskać szczegółowe informacje na temat każdego panelu, zobacz Monitorowanie uaktualnień za pomocą pulpitu nawigacyjnego uaktualniania.

Jak to działa

Aby rozpocząć proces uaktualniania lub migracji, zobacz:

  1. 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. Alternatywnie otwórz okno usługi GitHub Copilot Chat i wpisz @Modernize.
    • Visual Studio Code: Otwórz GitHub Copilot Chat panel i wpisz @upgrade.
    • GitHub Copilot CLI: Wpisz @upgrade, a następnie polecenie uaktualnienia lub migracji.
    • GitHub aplikacja Copilot: w selektorze Agent wybierz Upgrade.
  2. Poinformuj agenta, co należy uaktualnić lub zmigrować.

Gdy poprosisz agenta uaktualnienia 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 do recenzji strategii decyzje, takie jak strategia aktualizacji (od dołu do góry, od góry do dołu lub wszystko na raz), podejście do aktualizacji projektu, opcje modernizacji technologicznej oraz zarządzanie 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ła się ona 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:

Strategy Najlepsze dla Description
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
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ł.

Wskazówka

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 Copilot napotka problem, próbuje zidentyfikować przyczynę i zastosować poprawkę. Jeśli Copilot nie może rozwiązać problemu, prosi 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.

Telemetry

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 firmy Microsoft, zobacz Visual Studio Customer Experience Improvement Program.