Panoramica di .NET Upgrade Assistant
Vengono rilasciate varie nuove versioni di .NET nel corso dell'anno, con una versione principale una volta all'anno. .NET Upgrade Assistant consente di aggiornare le app dalle versioni precedenti di .NET, .NET Core e .NET Framework alla versione più recente.
.NET Upgrade Assistant è un'estensione di Visual Studio e uno strumento da riga di comando progettato per facilitare l'aggiornamento delle app alla versione più recente di .NET.
I problemi relativi a .NET Upgrade Assistant possono essere registrati dall'interno di Visual Studio selezionando Guida>Invia commenti e suggerimenti>Segnala un problema.
Installare Upgrade Assistant
.NET Upgrade Assistant può essere installato come estensione di Visual Studio o come strumento da riga di comando .NET. Per altre informazioni, vedere Installare .NET Upgrade Assistant.
Lingue supportate
Sono supportati i linguaggi di programmazione seguenti:
- C#
- Visual Basic
Progetti supportati
Sono supportati i tipi di progetto seguenti:
- ASP.NET
- Funzioni di Azure
- Windows Presentation Foundation
- Windows Form
- Librerie di classi
- App console
- UWP .NET Native
- Xamarin.Forms
- .NET MAUI
Percorsi di aggiornamento
Sono supportati i percorsi di aggiornamento seguenti:
- Da .NET Framework a .NET
- Da .NET Core a .NET
- Da UWP a WinUI 3
- Da una versione precedente di .NET alla versione più recente di .NET
- Da Funzioni di Azure v1-v3 alla versione 4 isolata
- Da Xamarin Forms a .NET MAUI
- Le trasformazioni di file XAML supportano solo l'aggiornamento degli spazi dei nomi. Per trasformazioni più complete, usare Visual Studio 2022 versione 17.6 o successiva.
Eseguire l'aggiornamento con l'estensione di Visual Studio
Dopo aver installato l'estensione .NET Upgrade Assistant, fare clic con il pulsante destro del mouse sul progetto nella finestra Esplora soluzioni e scegliere Aggiorna.
Attenzione
Assicurarsi di eseguire il backup dei progetti prima dell'aggiornamento se non si usa il controllo del codice sorgente.
Viene aperta una scheda che fornisce, in base al tipo di progetto, diversi stili di aggiornamento:
Aggiornamento del progetto sul posto
Questa opzione aggiorna il progetto senza creare una copia.
Aggiornamento del progetto side-by-side
Copia il progetto e aggiorna la copia, lasciando intatto il progetto originale.
Aggiornamento incrementale side-by-side
Una buona scelta per app Web complesse. L'aggiornamento da ASP.NET a ASP.NET Core richiede un bel po' di lavoro e a volte il refactoring manuale. Questa modalità affianca un progetto .NET al progetto .NET Framework esistente e instrada gli endpoint implementati nel progetto .NET, mentre tutte le altre chiamate vengono inviate all'applicazione .NET Framework.
Questa modalità consente di aggiornare lentamente le varie parti dell'app ASP.NET o libreria.
Dopo l'aggiornamento dell'app, viene visualizzata una schermata di stato che mostra tutti gli artefatti correlati al progetto associati all'aggiornamento. Ogni artefatto dell'aggiornamento può essere espanso per leggere altre informazioni sullo stato. Nell'elenco seguente vengono descritte le icone di stato:
- Segno di spunta verde pieno: l'artefatto è stato aggiornato e completato correttamente.
- Segno di spunta verde vuoto: lo strumento non ha trovato nulla dell'artefatto da aggiornare.
- Simbolo di avviso giallo: l'artefatto è stato aggiornato, ma è necessario prendere in considerazione informazioni importanti.
- X rossa: l'artefatto doveva essere aggiornato, ma l'aggiornamento non è riuscito.
Inoltre, le azioni eseguite da Upgrade Assistant vengono registrate nella finestra Output sotto l'origine Upgrade Assistant, come illustrato nell'immagine seguente:
Dopo aver aggiornato il progetto, sarà necessario testarlo accuratamente.
Eseguire l'aggiornamento con lo strumento dell'interfaccia della riga di comando
Dopo aver installato lo strumento dell'interfaccia della riga di comando .NET Upgrade Assistant, aprire una finestra del terminale e passare alla directory contenente il progetto da aggiornare. È possibile usare il comando upgrade-assistant --help
per visualizzare le opzioni disponibili fornite dall'interfaccia della riga di comando.
Attenzione
Assicurarsi di eseguire il backup dei progetti prima dell'aggiornamento se non si usa il controllo del codice sorgente.
Eseguire lo strumento con il comando upgrade-assistant upgrade
. Vengono elencati tutti i progetti dalla cartella corrente e dalle relative sottocartelle. Lo strumento dell'interfaccia della riga di comando offre un modo interattivo per scegliere il progetto da aggiornare. Usare i tasti di direzione per selezionare un elemento e premere INVIO per eseguire l'elemento. Selezionare il progetto da aggiornare. Nell'esempio fornito in questo articolo sono presenti quattro progetti nella cartella corrente:
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
A seconda del progetto da aggiornare, è possibile che venga visualizzata un'opzione per specificare come procedere con l'aggiornamento:
Aggiornamento del progetto sul posto
Questa opzione aggiorna il progetto senza creare una copia.
Aggiornamento del progetto side-by-side
Questa opzione è disponibile solo per i progetti .NET Framework. Copia il progetto e aggiorna la copia, lasciando intatto il progetto originale.
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
Dopo questo passaggio, se sono presenti più framework di destinazione aggiornabili, si sceglierà una destinazione:
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
Dopo aver aggiornato il progetto, sarà necessario testarlo accuratamente.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per