Share via


Översikt över .NET Upgrade Assistant

Nya versioner av .NET släpps under hela året, med en större version en gång om året. .NET Upgrade Assistant hjälper dig att uppgradera appar från tidigare versioner av .NET, .NET Core och .NET Framework till den senaste versionen.

.NET Upgrade Assistant är ett Visual Studio-tillägg och kommandoradsverktyg som är utformat för att hjälpa dig att uppgradera appar till den senaste versionen av .NET.

Problem som rör .NET-uppgraderingsassistenten kan arkiveras i Visual Studio genom att välja Hjälp>skicka feedbackRapport>ett problem.

Installera uppgraderingsassistenten

.NET Upgrade Assistant kan installeras som ett Visual Studio-tillägg eller som ett .NET-kommandoradsverktyg. Mer information finns i Installera .NET Upgrade Assistant.

Språk som stöds

Följande kodspråk stöds:

  • C#
  • Visual Basic

Projekt som stöds

Följande typer av projekt stöds:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Klassbibliotek
  • Konsolappar
  • .NET Native UWP
  • Xamarin Forms
  • .NET MAUI

Uppgradera sökvägar

Följande uppgraderingsvägar stöds:

  • .NET Framework till .NET
  • .NET Core till .NET
  • UWP till WinUI 3
  • Tidigare .NET-version till den senaste .NET-versionen
  • Azure Functions v1-v3 till v4 isolerad
  • Xamarin Forms till .NET MAUI
    • XAML-filtransformeringar stöder endast uppgradering av namnområden. Mer omfattande omvandlingar finns i Visual Studio 2022 version 17.6 eller senare.

Uppgradera med Visual Studio-tillägget

När du har installerat tillägget .NET Upgrade Assistant högerklickar du på projektet i Solution Explorer-fönstret och väljer Uppgradera.

Varning

Se till att du säkerhetskopierar dina projekt innan du uppgraderar om du inte använder källkontroll.

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

En flik öppnas som ger, baserat på din projekttyp, olika uppgraderingsformat:

  • Projektuppgradering på plats

    Det här alternativet uppgraderar projektet utan att göra en kopia.

  • Projektuppgradering sida vid sida

    Kopierar projektet och uppgraderar kopian och lämnar det ursprungliga projektet ensamt.

  • Stegvis sida vid sida

    Ett bra val för komplicerade webbappar. Uppgradering från ASP.NET till ASP.NET Core kräver en hel del arbete och ibland manuell refaktorisering. Det här läget placerar ett .NET-projekt bredvid ditt befintliga .NET Framework-projekt och dirigerar slutpunkter som implementeras i .NET-projektet, medan alla andra anrop skickas till .NET Framework-programmet.

    Med det här läget kan du långsamt uppgradera din ASP.NET- eller biblioteksapp bit för bit.

När appen har uppgraderats visas en statusskärm som visar alla artefakter som är relaterade till projektet som var associerade med uppgraderingen. Varje uppgraderingsartefakt kan utökas för att läsa mer information om statusen. I följande lista beskrivs statusikonerna:

  • Fylld grön bockmarkering: Artefakten har uppgraderats och slutförts.
  • Ofylld grön bockmarkering: Verktyget hittade inget om artefakten som ska uppgraderas.
  • Gult varningstecken: Artefakten har uppgraderats, men det finns viktig information som du bör tänka på.
  • Red X: Artefakten skulle uppgraderas, men uppgraderingen misslyckades.

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

Dessutom loggas de åtgärder som uppgraderingsassistenten utförde till fönstret Utdata under källan Uppgraderingsassistenten , enligt följande bild:

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

När du har uppgraderat projektet måste du testa det noggrant.

Uppgradera med CLI-verktyget

När du har installerat CLI-verktyget .NET Upgrade Assistant öppnar du ett terminalfönster och navigerar till katalogen som innehåller det projekt som du vill uppgradera. Du kan använda upgrade-assistant --help kommandot för att se tillgängliga alternativ som CLI tillhandahåller.

Varning

Se till att du säkerhetskopierar dina projekt innan du uppgraderar om du inte använder källkontroll.

Kör verktyget med upgrade-assistant upgrade kommandot, alla projekt från den aktuella mappen och nedan visas. CLI-verktyget är ett interaktivt sätt att välja vilket projekt som ska uppgraderas. Använd piltangenterna för att markera ett objekt och tryck på Retur för att köra objektet. Välj det projekt som du vill uppgradera. I exemplet i den här artikeln finns det fyra projekt under den aktuella mappen:

 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

Beroende på vilket projekt du uppgraderar kan du få ett alternativ för att ange hur uppgraderingen ska fortsätta:

  • Projektuppgradering på plats

    Det här alternativet uppgraderar projektet utan att göra en kopia.

  • Projektuppgradering sida vid sida

    Det här alternativet är endast tillgängligt för .NET Framework-projekt. Kopierar projektet och uppgraderar kopian och lämnar det ursprungliga projektet ensamt.

 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

Om det finns fler än ett uppgraderingsbart målramverk efter det här steget väljer du ett må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

När du har uppgraderat projektet måste du testa det noggrant.