Ö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.
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.
Dessutom loggas de åtgärder som uppgraderingsassistenten utförde till fönstret Utdata under källan Uppgraderingsassistenten , enligt följande bild:
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.