Omówienie asystenta uaktualniania platformy .NET

Nowe wersje platformy .NET są wydawane przez cały rok z główną wersją raz w roku. Asystent uaktualniania platformy .NET ułatwia uaktualnianie aplikacji z poprzednich wersji programów .NET, .NET Core i .NET Framework do najnowszej wersji.

Asystent uaktualniania platformy .NET to rozszerzenie programu Visual Studio i narzędzie wiersza polecenia, które zostało zaprojektowane w celu ułatwienia uaktualniania aplikacji do najnowszej wersji platformy .NET.

Problemy związane z asystentem uaktualniania platformy .NET można złożyć w programie Visual Studio, wybierając pozycję Pomoc>Wyślij opinię>Zgłoś problem.

Instalowanie Asystenta uaktualniania

Asystent uaktualnienia platformy .NET można zainstalować jako rozszerzenie programu Visual Studio lub jako narzędzie wiersza polecenia platformy .NET. Aby uzyskać więcej informacji, zobacz Instalowanie Asystenta uaktualniania platformy .NET.

Obsługiwane języki

Obsługiwane są następujące języki kodu:

  • C#
  • Visual Basic

Obsługiwane projekty

Obsługiwane są następujące typy projektów:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Biblioteki klas
  • Aplikacje konsolowe
  • Platforma UWP natywna dla platformy .NET
  • Xamarin Forms
  • .NET MAUI

Ścieżki uaktualniania

Obsługiwane są następujące ścieżki uaktualniania:

  • .NET Framework do platformy .NET
  • .NET Core do platformy .NET
  • Platforma UWP do winUI 3
  • Poprzednia wersja platformy .NET do najnowszej wersji platformy .NET
  • Izolowana usługa Azure Functions w wersji 1-v3 do 4
  • Xamarin Forms to .NET MAUI
    • Przekształcenia plików XAML obsługują tylko uaktualnianie przestrzeni nazw. Aby uzyskać bardziej kompleksowe przekształcenia, użyj programu Visual Studio 2022 w wersji 17.6 lub nowszej.

Uaktualnianie za pomocą rozszerzenia programu Visual Studio

Po zainstalowaniu rozszerzenia .NET Upgrade Assistant kliknij prawym przyciskiem myszy projekt w oknie Eksplorator rozwiązań i wybierz polecenie Uaktualnij.

Uwaga

Upewnij się, że tworzysz kopię zapasową projektów przed uaktualnieniem, jeśli nie używasz kontroli źródła.

The .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

Zostanie otwarta karta, która zapewnia, na podstawie typu projektu, różne style uaktualniania:

  • Uaktualnienie projektu w miejscu

    Ta opcja uaktualnia projekt bez tworzenia kopii.

  • Uaktualnianie projektu równoległego

    Kopiuje projekt i uaktualnia kopię, pozostawiając oryginalny projekt sam.

  • Przyrostowe równoległe

    Dobry wybór dla skomplikowanych aplikacji internetowych. Uaktualnienie z ASP.NET do ASP.NET Core wymaga sporo pracy i czasami ręcznej refaktoryzacji. Ten tryb umieszcza projekt .NET obok istniejącego projektu .NET Framework i kieruje punkty końcowe zaimplementowane w projekcie .NET, podczas gdy wszystkie inne wywołania są wysyłane do aplikacji .NET Framework.

    Ten tryb umożliwia powolne uaktualnianie ASP.NET lub aplikacji biblioteki po kawałku.

Po uaktualnieniu aplikacji zostanie wyświetlony ekran stanu przedstawiający wszystkie artefakty związane z projektem, które zostały skojarzone z uaktualnieniem. Każdy artefakt uaktualnienia można rozszerzyć, aby dowiedzieć się więcej o stanie. Na poniższej liście opisano ikony stanu:

  • Wypełniony zielony znacznik wyboru: artefakt został uaktualniony i ukończony pomyślnie.
  • Niezapełniony zielony znacznik wyboru: narzędzie nie znalazło żadnych informacji o artefaktie w celu uaktualnienia.
  • Żółty znak ostrzeżenia: artefakt został uaktualniony, ale należy wziąć pod uwagę ważne informacje.
  • Czerwony X: Artefakt miał zostać uaktualniony, ale uaktualnienie nie powiodło się.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

Ponadto akcje wykonywane przez Asystenta uaktualniania są rejestrowane w oknie Dane wyjściowe w źródle Asystenta uaktualniania, jak pokazano na poniższej ilustracji:

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

Po uaktualnieniu projektu należy go dokładnie przetestować.

Uaktualnianie za pomocą narzędzia interfejsu wiersza polecenia

Po zainstalowaniu narzędzia interfejsu wiersza polecenia programu .NET Upgrade Assistant otwórz okno terminalu i przejdź do katalogu zawierającego projekt, który chcesz uaktualnić. Możesz użyć polecenia , aby wyświetlić dostępne opcje interfejsu upgrade-assistant --help wiersza polecenia.

Uwaga

Upewnij się, że tworzysz kopię zapasową projektów przed uaktualnieniem, jeśli nie używasz kontroli źródła.

Uruchom narzędzie za pomocą upgrade-assistant upgrade polecenia , wszystkie projekty z bieżącego folderu i poniżej znajdują się na liście. Narzędzie interfejsu wiersza polecenia zapewnia interaktywny sposób wybierania projektu do uaktualnienia. Użyj klawiszy strzałek, aby wybrać element, a następnie naciśnij klawisz Enter , aby uruchomić element. Wybierz projekt, który chcesz uaktualnić. W przykładzie podanym w tym artykule znajdują się cztery projekty w bieżącym folderze:

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

W zależności od uaktualnienia projektu może zostać wyświetlona opcja określania sposobu kontynuowania uaktualniania:

  • Uaktualnienie projektu w miejscu

    Ta opcja uaktualnia projekt bez tworzenia kopii.

  • Uaktualnianie projektu równoległego

    Ta opcja jest dostępna tylko dla projektów .NET Framework. Kopiuje projekt i uaktualnia kopię, pozostawiając oryginalny projekt sam.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

Po wykonaniu tego kroku, jeśli istnieje więcej niż jedna struktura docelowa z możliwością dostosowania, wybierz element docelowy:

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

Po uaktualnieniu projektu należy go dokładnie przetestować.