Porta, migrazione e aggiornamento di progetti di Visual Studio 2022
Suggerimento
Guarda le registrazioni dell'evento di lancio di Visual Studio 2022 per scoprire le novità, ascoltare suggerimenti e consigli e scaricare swag digitale gratuito.
Developer Community | Visual Studio 2022 Roadmap | System Requirements | Compatibility | Distributable Code | Release History | License Terms | Blogs | Latest Release Issues | Whats New in Visual Studio Docs (Problemi noti della versione più recente)
Ogni nuova versione di Visual Studio supporta la maggior parte dei tipi di progetti, file e altri asset. È possibile usarli come sempre, purché non si dipenda dalle funzionalità più recenti.
Si tenta di mantenere la compatibilità con le versioni precedenti, ad esempio Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 e Visual Studio 2012. Tuttavia, il supporto per alcuni tipi di progetto cambia nel tempo. Una versione più recente di Visual Studio potrebbe non supportare affatto determinati progetti oppure potrebbe essere necessario aggiornare un progetto in modo che non sia più compatibile con le versioni precedenti.
Nota
Per visualizzare lo stato corrente sui problemi di migrazione, fare riferimento al sito Visual Studio Developer Community. Per altre informazioni sulle funzionalità specifiche della versione di Visual Studio, vedere le note sulla versione.
Importante
Alcuni tipi di progetto richiedono carichi di lavoro specifici. Se non è installato il carico di lavoro, Visual Studio non segnala un tipo di progetto sconosciuto o incompatibile. In tal caso, controllare le opzioni di installazione nel Programma di installazione di Visual Studio e riprovare. Per altre informazioni sul supporto dei progetti in Visual Studio 2022, vedere la pagina Selezione della piattaforma e compatibilità .
Tipi di progetto
L'elenco seguente descrive il supporto in Visual Studio 2022 per i progetti creati nelle versioni precedenti.
Se non viene visualizzato un progetto o un tipo di file elencato qui, consultare la versione di Visual Studio 2019 di questo articolo. È anche possibile usare il pulsante Invia e visualizza commenti e suggerimenti per>questa pagina nella parte inferiore di questa pagina per fornire i dettagli del progetto. Se usi il controllo anonimo "Questa pagina è stata utile?" non siamo in grado di rispondere ai tuoi commenti e suggerimenti.
Tipo di progetto | Supporto tecnico |
---|---|
Progetti .NET Core (xproj) | I progetti creati con Visual Studio 2015 usano strumenti di anteprima che includono un file di progetto xproj. Visual Studio 2017: il formato xproj non è supportato oltre alla migrazione al formato csproj. Quando si apre un file xproj, viene richiesto di eseguire la migrazione del file nel formato csproj in stile SDK. Viene eseguito un backup del file xproj. I progetti csproj in stile SDK non sono supportati in Visual Studio 2015 e versioni precedenti. Visual Studio 2019: nella versione 16.3 e successive non è possibile caricare o eseguire la migrazione di progetti xproj. Per altre informazioni, vedere Migrazione di progetti .NET Core nel formato di file con estensione csproj. |
ASP.NET Core Web App e ASP.NET Core Web App con Application Insights abilitato | Per ogni utente di Visual Studio, le informazioni sulle risorse sono memorizzate nel Registro di sistema per ogni istanza utente. Queste informazioni vengono usate quando l'utente non ha un progetto aperto e vuole eseguire una ricerca nei dati di Azure Application Insights. Visual Studio 2015 usa un percorso del Registro di sistema diverso da Visual Studio 2017, Visual Studio 2019 e Visual Studio 2022 e non è in conflitto. Dopo che un utente crea un'applicazione Web ASP.NET, ASP.NET Core Web App o ASP.NET Core Web Application, la risorsa viene archiviata nel file con estensione suo. L'utente può aprire il progetto in Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 o Visual Studio 2022 e le informazioni sulle risorse vengono usate per ognuna, purché Visual Studio supporti progetti e soluzioni usate in entrambe le versioni. Gli utenti devono eseguire l'autenticazione una sola volta in ogni prodotto. Ad esempio, se un progetto viene creato con Visual Studio 2017 e aperto in Visual Studio 2022, l'utente deve eseguire l'autenticazione in Visual Studio 2022. |
Windows Form o Webform in C#/Visual Basic | È possibile aprire il progetto in Visual Studio 2022, Visual Studio 2019, Visual Studio 2017 e Visual Studio 2015. |
Test codificato dell'interfaccia utente | Il test codificato dell'interfaccia utente per il test funzionale automatizzato basato sull'interfaccia utente è deprecato in Visual Studio 2019. Visual Studio 2019 sarà l'ultima versione per il test codificato dell'interfaccia utente. È consigliabile usare Selenium per eseguire il test delle app Web e Appium con WinAppDriver per eseguire il test delle app desktop e della piattaforma UWP (Universal Windows Platform). |
Progetti di unit test del database (csproj, vbproj) | I progetti di unit test meno recenti vengono caricati in Visual Studio 2019, ma usano la versione GAC delle dipendenze. Per aggiornare il progetto di unit test in modo da usare le dipendenze più recenti, fare clic con il pulsante destro sul progetto in Esplora soluzioni e selezionare Converti nel progetto di unit test di SQL Server... . |
F# | Visual Studio 2019 può aprire progetti creati in Visual Studio 2013, Visual Studio 2015 e Visual Studio 2017. La differenza chiave per i nuovi progetti rispetto ai modelli di Visual Studio precedenti è che la versione di FSharp.Core ora è sempre un pacchetto NuGet. F# viene installato per impostazione predefinita con qualsiasi carico di lavoro .NET. |
InstallShield MSI InstallShield |
I progetti del programma di installazione creati in Visual Studio 2010 possono essere aperti in versioni successive con il supporto dell'estensione per i progetti di programma di installazione di Visual Studio. Vedere anche WiX Toolset Visual Studio 2017 Extension. InstallShield Limited Edition non è più incluso in Visual Studio. Consultare Revenera sulla disponibilità per Visual Studio 2022. |
Lightswitch | LightSwitch non è più supportato in Visual Studio 2022, Visual Studio 2019 o Visual Studio 2017. I progetti creati con Visual Studio 2012 e aperti in precedenza in Visual Studio 2013 o Visual Studio 2015 vengono aggiornati e in seguito possono essere aperti solo in Visual Studio 2013 o Visual Studio 2015. |
Test di carico | In Visual Studio 2019 le funzionalità relative alle prestazioni Web e ai test di carico sono deprecate. Visual Studio 2019 sarà l'ultima versione per il test di carico. Usare strumenti di test di carico alternativi, ad esempio Apache JMeter, Akamai CloudTest, Blazemeter. |
Strumenti di Microsoft Azure per Visual Studio | Per aprire questi tipi di progetti, installare innanzitutto Azure SDK per .NET, quindi aprire il progetto. Se necessario, il progetto viene aggiornato. |
Microsoft Test Manager | A partire da Visual Studio 2019, Feedback Client e Microsoft Test Manager non sono più inclusi in Visual Studio. Usare Azure Test Plans (compreso in Azure DevOps) per le esigenze di testing manuale ed esplorativo. |
Framework ASP.NET MVC (Model-View-Controller) | Supporto per le versioni MVC e Visual Studio:
Aggiornamento delle versioni MVC:
|
Modellazione | Se si consente a Visual Studio di aggiornare automaticamente il progetto, è possibile aprirlo in Visual Studio 2015, Visual Studio 2013 o Visual Studio 2012. Il formato del progetto di modellazione non è cambiato da Visual Studio 2015 e il progetto può essere aperto e modificato in queste versioni. Esistono tuttavia differenze di comportamento in Visual Studio 2017 e Visual Studio 2019:
|
Programma di installazione MSI (vdproj) | Vedere la sezione InstallShield di questa pagina. |
Office 2007 VSTO | Richiede un aggiornamento unidirezionale per Visual Studio 2022. |
Office 2010 VSTO | Se il progetto è destinato a .NET Framework 4, è possibile aprirlo in Visual Studio 2010 SP1 e versioni successive. Tutti gli altri progetti richiedono un aggiornamento unidirezionale. |
Libreria di classi portabile (PCL) | Le librerie di classi portabili (o PCL, Portable Class Library) non sono più supportate. Visual Studio 2019 continuerà ad aprirli e compilarli, ma non è possibile creare nuovi progetti PCL. È consigliabile eseguire la migrazione del codice dei progetti PCL in progetti .NET Standard. Per impostazione predefinita, il supporto PCL non è più incluso, ma sarà disponibile nella scheda in Visual Studio scheda "Singoli componenti" di Visual Studio. |
Carico di lavoro Python | In Visual Studio 2019 il supporto per le app Windows IoT Core Python è stato rimosso. Poiché non esiste un equivalente in Visual Studio 2022, non esiste alcun percorso di migrazione automatica per tali progetti. È possibile continuare a usare Visual Studio 2017. |
Strumenti R per Visual Studio | In Visual Studio 2019 R Tools per Visual Studio è stato rimosso dal carico di lavoro Data Science. È possibile continuare a usare Visual Studio 2017 o usare alternative, ad esempio RStudio. |
Service Fabric (sfproj) | I progetti di applicazione di Service Fabric creati in Visual Studio 2017 o Visual Studio 2019 possono essere aperti in Visual Studio 2022 senza modifiche. I progetti di applicazione di Service Fabric creati in Visual Studio 2022 senza usare l'opzione Ottimizza layout di progetto per la distribuzione ARM possono essere aperti in Visual Studio 2019 16.5 o versione successiva. I progetti di applicazione di Service Fabric creati in Visual Studio 2022 usando l'opzione Ottimizza layout di progetto per la distribuzione ARM possono essere aperti in Visual Studio 2019 16.10 o versione successiva. |
SharePoint 2010 | Quando un progetto di soluzione SharePoint viene aperto con Visual Studio 2022, viene aggiornato a SharePoint 2016 o SharePoint 2019. Il carico di lavoro ".NET Desktop Development" deve essere installato in Visual Studio per l'aggiornamento. Per altre informazioni su come aggiornare i progetti di SharePoint, vedere Aggiornare e aggiornare SharePoint. |
SharePoint 2016 | I progetti di componente aggiuntivo sharePoint creati in Office Developer Tools Preview 2 non possono essere aperti in Visual Studio 2022. Per risolvere il problema, aggiornare MinimumVisualStudioVersion alla versione 12.0 e MinimumOfficeToolsVersion alla versione 12.2 nel file csproj o vbproj. |
Silverlight | Progetti Silverlight non supportati in Visual Studio 2022. Per gestire le applicazioni Silverlight, continuare a usare Visual Studio 2015. |
SQL - Redgate | Redgate SQL Change Automation Core (in precedenza ReadyRoll Core), SQL Prompt Core e SQL Search non sono più in dotazione con il programma di installazione di Visual Studio. Per queste funzionalità, è possibile continuare a usare Visual Studio 2017. In Visual Studio 2019 è possibile effettuare l'aggiornamento a pagamento ai prodotti SQL Change Automation e SQL Prompt, disponibili in Redgate SQL Toolbelt. |
SQL Server Reporting Services e SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) | Il supporto per questi tipi di progetto viene fornito tramite due estensioni in Visual Studio Gallery: Progetti di Microsoft Analysis Services e Progetti di Microsoft Reporting Services. È anche incluso il supporto per SSDT con il carico di lavoro Elaborazione ed archiviazione dati in Visual Studio 2019. Per altre informazioni, vedere la pagina Scaricare e installare SQL Server Data Tools (SSDT) per Visual Studio. |
SQL Server Integration Services (SSIS) | L'estensione Progetti di SQL Server Integration Services è disponibile a livello generale per Visual Studio 2022. Scaricare da SQL Server Integration Services Projects 2022 - Visual Studio Marketplace e vedere la guida alla risoluzione dei problemi per indicazioni sulla risoluzione dei problemi. |
Estensione della finestra di test | In Visual Studio 2019 alcune API delle finestre di test contrassegnate in precedenza come pubbliche, ma mai documentate ufficialmente, sono state rimosse. Le API ad alta visibilità sono state contrassegnate come deprecate in Visual Studio 2017 per comunicare in anticipo un avviso ai gestori delle estensioni. In base alla nostra conoscenza, solo poche estensioni dipendono da queste API. Per altre informazioni e aggiornamenti, vedere l'elenco completo delle API correlate ai test deprecate. Se questo influisce sullo scenario, segnalarlo tramite la community degli sviluppatori di Visual Studio. |
TypeScript | TypeScript SDK è stato deprecato in Visual Studio 2022 e non è più installato per impostazione predefinita in alcun carico di lavoro. I progetti che compilano TypeScript devono installare il pacchetto NuGet Microsoft.TypeScript.MSBuild . Per supportare i progetti che non possono essere aggiornati immediatamente, TypeScript SDK è ancora disponibile come componente facoltativo nel programma di installazione di Visual Studio, nonché in Visual Studio Marketplace. |
Visual C++ | È possibile usare Visual Studio 2022 per lavorare nei progetti creati nelle versioni precedenti di Visual Studio a Visual Studio 2010. Alla prima apertura del progetto è possibile scegliere di eseguire l'aggiornamento al compilatore e al set di strumenti più recenti oppure di continuare a usare gli strumenti originali. Se si sceglie di continuare a usare quelli originali, Visual Studio 2022 non modifica il file di progetto e usa il set di strumenti dell'installazione precedente di Visual Studio per compilare il progetto. Continuare ad usare le opzioni originali significa che rimane possibile aprire il progetto nella versione originale di Visual Studio, se necessario. Per altre informazioni, vedere Usare multitargeting nativo in Visual Studio per compilare progetti precedenti. |
Strumenti di estendibilità in Visual Studio/VSIX | I progetti con MinimumVersion 14.0 o inferiore vengono aggiornati in modo da dichiarare MinimumVersion 15.0, il che impedisce l'apertura del progetto in versioni precedenti di Visual Studio. Per consentire l'apertura di un progetto nelle versioni precedenti, impostare MinimumVersion su $(VisualStudioVersion) . Vedere anche Procedura: Eseguire la migrazione di progetti di estendibilità in Visual Studio 2017. |
Visual Studio Lab Management | È possibile usare Microsoft Test Manager o Visual Studio 2010 SP1 e versioni successive per aprire gli ambienti creati in una di queste versioni. Tuttavia, per Visual Studio 2010 SP1 è necessario che la versione di Microsoft Test Manager corrisponda alla versione di Team Foundation Server per poter creare gli ambienti. Importante: Team Foundation Server o TFS è ora noto come Azure DevOps Server. |
Visual Studio Tools per Apache Cordova | In Visual Studio 2019 è stato rimosso il supporto per Apache Cordova. Poiché non esiste un equivalente in Visual Studio 2022, non esiste alcun percorso di migrazione automatica per tali progetti. È possibile usare gli strumenti Cordova per l'estensione Visual Studio Code (che supporta la versione più recente di Cordova) o continuare a usare Visual Studio 2017. |
Distribuzione Web (wdproj) | Il supporto per i progetti di distribuzione Web è stato rimosso in Visual Studio 2012 con l'aggiunta del supporto del profilo di pubblicazione. Poiché non esiste un equivalente in Visual Studio 2022, non esiste alcun percorso di migrazione automatica per tali progetti. È invece necessario aprire il file wdproj in un editor di testo e copiare e incollare eventuali personalizzazioni nel file pubxml (profilo di pubblicazione), come descritto in StackOverflow. |
Windows Communication Foundation, Windows Workflow Foundation | È possibile aprire questo progetto in Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 e Visual Studio 2012. |
Windows Presentation Foundation | È possibile aprire questo progetto in Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2013, Visual Studio 2012 e Visual Studio 2010 SP1. |
App di Windows Phone | I progetti per Windows Phone non sono supportati in Visual Studio 2022. Per gestire le app di Windows Phone 8.x, usare Visual Studio 2015. Per gestire i progetti di Windows Phone 7.x, usare Visual Studio 2012. |
App di Microsoft Store | I progetti Windows universali JavaScript non sono supportati in Visual Studio 2022. Per gestire questi progetti, usare Visual Studio 2017. I Windows 10 SDK precedenti a Windows 10 Fall Creators Update (build 16299) sono stati rimossi dal programma di installazione di Visual Studio 2019. È possibile scaricare gli SDK meno recenti manualmente o ridestinare i progetti per usare gli SDK più recenti. I progetti di Windows universali che usano project.json non sono supportati. È consigliabile aggiornare questi progetti per l'uso di riferimenti a pacchetti. In alternativa, aggiungere un riferimento a Microsoft.NET.Test.Sdk versione 16.0.0.0 nel file project.json. I progetti per Windows Store 8.1 e 8.0 non sono supportati in Visual Studio 2022. Per gestire queste app, continuare a usare Visual Studio 2015. |
Xamarin | A partire da Visual Studio 2022 17.11, Xamarin non è supportato. I progetti Xamarin devono invece essere aggiornati a .NET MAUI. |
Eseguire la migrazione di un progetto
Anche se si tenta di mantenere la compatibilità con le versioni precedenti, è possibile che le modifiche non siano compatibili con le versioni precedenti. In questo caso, una versione più recente di Visual Studio non caricherà il progetto o offrirà un percorso di migrazione. Potrebbe essere necessario mantenere il progetto in una versione precedente di Visual Studio. Per altre informazioni sui tipi di progetto supportati in Visual Studio 2022, vedere la pagina Selezione della piattaforma e compatibilità .
In alcuni casi, una versione più recente di Visual Studio può aprire un progetto, ma deve aggiornare o eseguire la migrazione del progetto in modo da renderlo incompatibile con le versioni precedenti. Visual Studio usa i criteri seguenti per determinare se tale migrazione è necessaria:
Compatibilità con le versioni di destinazione delle piattaforme, torna a Visual Studio 2013 RTM.
Compatibilità degli asset della fase di progettazione con le versioni precedenti di Visual Studio. I diversi canali di Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015 RTM & Update 3, Visual Studio 2013 RTM & Update 5, Visual Studio 2012 Update 4 e Visual Studio 2010 SP1. Visual Studio 2022 mira a non riuscire correttamente con asset in fase di progettazione deprecati senza danneggiarli, in modo che le versioni precedenti possano comunque aprire il progetto.
Se gli asset in fase di progettazione interrompono la compatibilità con versioni precedenti fino a Visual Studio 2013 RTM & Update 5.
Il team di progettazione proprietario del tipo di progetto esamina questi criteri e effettua la chiamata in cui sono interessati il supporto, la compatibilità e la migrazione. Anche in questo caso, si tenta di mantenere la compatibilità tra le versioni di Visual Studio in modo che quando si creano e si modificano progetti in una versione di Visual Studio, funziona solo in altre versioni.
In alcuni casi, la compatibilità non è possibile. Visual Studio apre quindi la procedura guidata di aggiornamento per apportare le modifiche unidirezionale necessarie. Queste modifiche unidirezionale possono comportare la modifica della ToolsVersion
proprietà nel file di progetto, che indica esattamente quale versione di MSBuild può trasformare il codice sorgente del progetto negli artefatti eseguibili e distribuibili desiderati.
Il rendering di un progetto non compatibile con le versioni precedenti di Visual Studio non è la versione di Visual Studio , ma la versione di MSBuild , come determinato da ToolsVersion
. Se la versione di Visual Studio contiene la toolchain MSBuild corrispondente a ToolsVersion
in un progetto, Visual Studio può richiamare tale toolchain per compilare il progetto.
Per mantenere la compatibilità con i progetti creati nelle versioni precedenti, Visual Studio 2022 include le toolchain MSBuild necessarie per supportare ToolsVersion
15, 14, 12 e 4. I progetti che usano uno di questi valori ToolsVersion
generalmente vengono compilati correttamente. (Oggetto, anche in questo caso, per specificare se Visual Studio 2022 supporta il tipo di progetto, come descritto in Selezione della piattaforma e compatibilità.
Si potrebbe essere tentati di aggiornare manualmente o eseguire la migrazione di un progetto a un valore più recente ToolsVersion
. Non è necessario apportare una modifica di questo tipo e probabilmente genera molti errori e avvisi che è necessario correggere per ripristinare la compilazione del progetto. Inoltre, se Visual Studio non supporta uno specifico ToolsVersion
in futuro, il progetto attiva il processo di migrazione del progetto quando lo si apre perché il relativo ToolsVersion
valore deve essere modificato.
Progetti pre-MSBuild
Avviso
I progetti .NET pre-MSBuild (ovvero i progetti .NET creati con versioni di Visual Studio che precedono MSBuild) sono convertibili solo quando vengono aggiornati con una versione di Visual Studio fino a Visual Studio versione 17.12. I progetti non saranno convertibili quando si usa Visual Studio versione 17.13 o successiva. Convertire qualsiasi progetto di questo tipo che potrebbe essere necessario ora con Visual Studio 17.12 e archiviare i risultati convertiti. Gli altri formati di progetto continueranno a essere convertibili e le versioni precedenti di Visual Studio continueranno a convertire anche i file di progetto pre-MSBuild in futuro. Tuttavia, è comunque consigliabile archiviare i risultati convertiti, come nelle versioni future di Visual Studio o degli aggiornamenti futuri delle versioni precedenti di Visual Studio (inclusi 2017 e 2019), potrebbero essere applicate restrizioni aggiuntive delle funzionalità di aggiornamento.