Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come aggiornare un'app desktop Windows Form a .NET tramite Assistente aggiornamento .NET. Windows Form rimane un framework solo Windows, anche se .NET è una tecnologia multipiattaforma.
Prerequisiti
- Sistema operativo Windows.
- Scaricare ed estrarre l'app demo usata con questo articolo.
- Visual Studio 2022 versione 17.12 o successiva per il targeting di .NET 9.
- Estensione .NET Upgrade Assistant per Visual Studio.
Valutazione
È consigliabile analizzare i progetti prima di eseguire un aggiornamento. L'esecuzione di analisi del codice sui progetti con .NET Upgrade Assistant genera un report a cui è possibile fare riferimento per identificare potenziali blocchi di migrazione.
Per analizzare i progetti e generare un report, fare clic con il pulsante destro del mouse sul file della soluzione in Esplora soluzioni e selezionare Aggiorna. Per altre informazioni sull'esecuzione di un'analisi, vedere Analizzare i progetti con .NET Upgrade Assistant.
Eseguire la migrazione delle dipendenze
Se si aggiornano più progetti, iniziare con i progetti che non hanno dipendenze. Nell'esempio di gioco corrispondente il progetto MatchingGame dipende dalla libreria MatchingGame.Logic , quindi MatchingGame.Logic deve essere aggiornato per primo.
Suggerimento
Assicurarsi di disporre di un backup del codice, ad esempio nel controllo del codice sorgente o in una copia.
Usare la procedura seguente per aggiornare un progetto in Visual Studio:
Fare clic con il pulsante destro del mouse sul progetto MatchingGame.Logic nella finestra Esplora soluzioni e scegliere Aggiorna:
Viene aperta una nuova scheda che richiede di scegliere l'aggiornamento da eseguire.
Selezionare Aggiornamento in loco del progetto.
Selezionare quindi il framework di destinazione.
In base al tipo di progetto che stai aggiornando, ti vengono presentate diverse opzioni. .NET Standard 2.0 può essere usato sia da .NET Framework che da .NET. Questa è una buona scelta se la libreria non si basa su una tecnologia desktop come Windows Form, che questo progetto esegue.
Seleziona .NET 9.0 e quindi Avanti.
Viene visualizzato un albero con tutti gli artefatti correlati al progetto, ad esempio file di codice e librerie. È possibile aggiornare singoli artefatti o l'intero progetto, ovvero l'impostazione predefinita. Selezionare Aggiorna selezione per avviare l'aggiornamento.
Al termine dell'aggiornamento, vengono visualizzati i risultati:
Gli artefatti con un cerchio verde solido sono stati aggiornati mentre i cerchi verdi vuoti sono stati ignorati. Gli artefatti saltati indicano che l'assistente all'aggiornamento non ha trovato nulla da aggiornare.
Ora che la libreria di supporto dell'app è stata aggiornata, aggiorna l'app principale.
Note per i progetti Visual Basic
Attualmente, l'Assistente aggiornamento .NET non riconosce l'uso di System.Configuration nel file delle impostazioni creato dai modelli di Visual Basic su .NET Framework. Non rispetta inoltre l'uso delle My estensioni usate nei progetti .NET Framework, ad esempio My.Computer e My.User. Queste estensioni sono state rimosse in .NET. A causa di questi due problemi, una libreria di Visual Basic non verrà compilata dopo la migrazione con .NET Upgrade Assistant.
Per risolvere questo problema, il progetto deve avere come destinazione Windows e fare riferimento Windows Form.
- Al termine della migrazione, fare doppio clic sul progetto MatchingGame.Logic nella finestra Esplora soluzioni.
- Individuare l'elemento
<Project>/<PropertyGroup>. - Nell'editor XML modificare il valore di
<TargetFramework>danet9.0anet9.0-windows. - Aggiungere
<UseWindowsForms>true</UseWindowsForms>alla riga dopo<TargetFramework>.
Le impostazioni del progetto dovrebbero essere simili al frammento di codice seguente:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<OutputType>Library</OutputType>
<MyType>Windows</MyType>
... other settings removed for brevity ...
Eseguire la migrazione del progetto principale
Dopo l'aggiornamento di tutte le librerie di supporto, è possibile aggiornare il progetto principale dell'app. Con l'app di esempio è disponibile un solo progetto di libreria da aggiornare, che è stato aggiornato nella sezione precedente.
- Fare clic con il pulsante destro del mouse sul progetto MatchingGame nella finestra Esplora soluzioni e scegliere Aggiorna:
- Selezionare Aggiornamento in loco del progetto.
- Selezionare .NET 9.0 per il framework di destinazione e selezionare Avanti.
- Lasciare selezionati tutti gli artefatti e selezionare Aggiorna selezione.
Al termine dell'aggiornamento, vengono visualizzati i risultati. Si noti che il progetto Windows Form ha un simbolo di avviso. Espandere l'elemento e vengono visualizzate altre informazioni su questo passaggio:
Si noti che il componente di aggiornamento del progetto indica che il tipo di carattere predefinito è stato modificato. Poiché il tipo di carattere potrebbe influire sul layout del controllo, è necessario controllare ogni modulo e controllo personalizzato nel progetto per assicurarsi che l'interfaccia utente sia disposta correttamente.
Generare una compilazione pulita
Dopo l'aggiornamento del progetto principale, eseguirne la pulizia e la compilazione.
- Fare clic con il pulsante destro del mouse sul progetto MatchingGame nella finestra Esplora soluzioni e scegliere Pulisci.
- Fare clic con il pulsante destro del mouse sul progetto MatchingGame nella finestra Esplora soluzioni e scegliere Compila.
Se l'applicazione ha rilevato errori, è possibile trovarli nella finestra Elenco errori con una raccomandazione su come risolverli.
Il progetto di esempio Windows Forms Matching Game è stato ora aggiornato a .NET 9.
Esperienza post-aggiornamento
Se si esegue la conversione di un'app da .NET Framework a .NET, vedere l'articolo Modernizzare dopo l'aggiornamento a .NET da .NET Framework .
Contenuti correlati
Conversione da .NET Framework a .NET.
La guida alla conversione offre una panoramica degli aspetti da considerare per la conversione del codice da .NET Framework a .NET. La complessità dei progetti determina la quantità di lavoro da eseguire dopo la migrazione iniziale dei file di progetto.
Modernizzare dopo l'aggiornamento a .NET da .NET Framework.
Il mondo di .NET è cambiato molto da .NET Framework. Questo collegamento fornisce alcune informazioni su come modernizzare l'app dopo l'aggiornamento.
.NET Desktop feedback