Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
W Visual Studio użyj opcji Zaproponuj funkcję i Raportuj problem.
Zgłoś problem w repozytorium @modernize-dotnet GitHub.
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:
Otwórz projekt lub rozwiązanie .NET w środowisku projektowym.
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-dotnetw repozytorium.
-
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
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:
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.Planning: Copilot konwertuje ocenę i potwierdzone opcje na szczegółową specyfikację. Plik
plan.mddokumentuje strategie uaktualniania, metody refaktoryzacji, ścieżki zależności i środki zaradcze ryzyka.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.
Treści powiązane
- Zainstaluj modernizację GitHub Copilot
- Zaktualizuj aplikację .NET z wykorzystaniem GitHub Copilot do modernizacji
- Podstawowe pojęcia
- Dokumentacja scenariuszy i umiejętności
- Najlepsze praktyki
- Rozwiązywanie problemów z modernizacją GitHub Copilot
- Quickstart: Migrowanie projektu .NET
- GitHub Copilot modernizacja — często zadawane pytania