Přehled pomocníka pro upgrade platformy .NET

Nové verze .NET se vydávají v průběhu roku s hlavní verzí jednou za rok. Pomocník pro upgrade platformy .NET vám pomůže s upgradem aplikací z předchozích verzí rozhraní .NET, .NET Core a .NET Framework na nejnovější verzi.

Pomocník pro upgrade .NET je rozšíření sady Visual Studio a nástroj příkazového řádku, který je navržený tak, aby pomohl s upgradem aplikací na nejnovější verzi .NET.

Problémy související s pomocníkem pro upgrade platformy .NET lze v sadě Visual Studio vytvořit výběrem možnosti Odeslat>zpětnou vazbu>o problému.

Instalace Pomocníka pro upgrade

Pomocníka pro upgrade platformy .NET je možné nainstalovat jako rozšíření sady Visual Studio nebo jako nástroj příkazového řádku .NET. Další informace naleznete v tématu Instalace Pomocníka pro upgrade platformy .NET.

Podporované jazyky

Podporují se následující jazyky kódu:

  • C#
  • Visual Basic

Podporované projekty

Podporují se následující typy projektů:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Knihovny tříd
  • Aplikace konzoly
  • UpW nativní pro .NET
  • Xamarin Forms
  • .NET MAUI

Cesty upgradu

Podporují se tyto možnosti upgradu:

  • .NET Framework do .NET
  • .NET Core do .NET
  • UPW na WinUI 3
  • Předchozí verze .NET na nejnovější verzi .NET
  • Izolované služby Azure Functions v1–v3 až v4
  • Xamarin Forms do .NET MAUI
    • Transformace souborů XAML podporují pouze upgrade oborů názvů. Pro komplexnější transformace použijte Visual Studio 2022 verze 17.6 nebo novější.

Upgrade pomocí rozšíření sady Visual Studio

Po instalaci rozšíření .NET Upgrade Assistant klikněte pravým tlačítkem myši na projekt v okně Průzkumník řešení a vyberte Upgradovat.

Upozornění

Pokud nepoužíváte správu zdrojového kódu, nezapomeňte své projekty před upgradem zálohovat.

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

Otevře se karta, která poskytuje různé styly upgradu na základě typu projektu:

  • Místní upgrade projektu

    Tato možnost upgraduje projekt bez vytvoření kopie.

  • Souběžný upgrade projektu

    Zkopíruje projekt a upgraduje kopii a ponechá původní projekt sám.

  • Přírůstkové souběžné

    Dobrou volbou pro složité webové aplikace. Upgrade z ASP.NET na ASP.NET Core vyžaduje poměrně hodně práce a občas ruční refaktoring. Tento režim umístí projekt .NET vedle existujícího projektu .NET Framework a směruje koncové body implementované v projektu .NET, zatímco všechna ostatní volání se odesílají do aplikace .NET Framework.

    Tento režim umožňuje pomalu upgradovat ASP.NET nebo knihovnu aplikace kus po kusu.

Po upgradu aplikace se zobrazí obrazovka stavu, která zobrazuje všechny artefakty související s vaším projektem přidruženým k upgradu. Každý artefakt upgradu je možné rozbalit a přečíst si další informace o stavu. Následující seznam popisuje ikony stavu:

  • Plná zelená značka zaškrtnutí: Artefakt byl upgradován a úspěšně dokončen.
  • Nezaplněná zelená značka zaškrtnutí: Nástroj nenalezl nic o artefaktu, který se má upgradovat.
  • Žluté upozornění: Artefakt byl upgradován, ale měli byste zvážit důležité informace.
  • Červený X: Artefakt byl upgradován, ale upgrade se nezdařil.

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

Kromě toho se akce, které pomocník s upgradem provedl, protokolují do okna Výstup ve zdroji Pomocníka pro upgrade, jak je znázorněno na následujícím obrázku:

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

Po upgradu projektu ho budete muset důkladně otestovat.

Upgrade pomocí nástroje rozhraní příkazového řádku

Po instalaci nástroje .NET Upgrade Assistant CLI otevřete okno terminálu a přejděte do adresáře, který obsahuje projekt, který chcete upgradovat. Pomocí příkazu upgrade-assistant --help můžete zobrazit dostupné možnosti, které poskytuje rozhraní příkazového řádku.

Upozornění

Pokud nepoužíváte správu zdrojového kódu, nezapomeňte své projekty před upgradem zálohovat.

Spusťte nástroj pomocí upgrade-assistant upgrade příkazu, jsou uvedeny všechny projekty z aktuální složky a níže. Nástroj ROZHRANÍ příkazového řádku poskytuje interaktivní způsob výběru projektu, který se má upgradovat. Pomocí kláves se šipkami vyberte položku a stisknutím klávesy Enter položku spusťte. Vyberte projekt, který chcete upgradovat. V příkladu uvedeném v tomto článku jsou v aktuální složce čtyři projekty:

 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

V závislosti na projektu, který upgradujete, se vám může zobrazit možnost určit, jak má upgrade pokračovat:

  • Místní upgrade projektu

    Tato možnost upgraduje projekt bez vytvoření kopie.

  • Souběžný upgrade projektu

    Tato možnost je k dispozici pouze pro projekty rozhraní .NET Framework. Zkopíruje projekt a upgraduje kopii a ponechá původní projekt sám.

 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

Pokud po tomto kroku existuje více než jedna upgradovatelná cílová architektura, zvolíte cíl:

 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 upgradu projektu ho budete muset důkladně otestovat.