Panoramica sull'impostazione dei framework di destinazione
In Visual Studio è possibile specificare la versione di .NET da impostare come destinazione per il progetto. L'impostazione di framework di destinazione consente di garantire che l'applicazione usi solo le funzionalità disponibili nella versione del framework specificata. Per le app .NET Framework da eseguire in un altro computer, la versione del framework per cui viene sviluppata l'applicazione deve essere compatibile con quella installata nel computer.
Una soluzione di Visual Studio può contenere progetti destinati a versioni diverse di .NET. Si noti tuttavia che è possibile eseguire la compilazione solo su una singola versione di .NET usando le istruzioni condizionali di riferimento per una singola compilazione o compilare in modo ricorsivo file binari diversi per ogni versione. Per altre informazioni sui framework di destinazione, vedere Framework di destinazione.
Suggerimento
È anche possibile definire la destinazione delle applicazioni per piattaforme diverse. Per altre informazioni, vedere Multitargeting.
Funzionalità per la definizione di .NET Framework come destinazione
La definizione della destinazione del framework include le seguenti funzionalità:
Quando si apre un progetto destinato a una versione precedente del framework, Visual Studio può aggiornare automaticamente il progetto o lasciare invariata la versione di destinazione.
Quando si crea un progetto .NET Framework, è possibile specificare la versione di .NET Framework che si vuole impostare come destinazione.
È possibile impostare come destinazione più framework all'interno dello stesso progetto.
È possibile impostare come destinazione una versione diversa di .NET in ognuno dei progetti all'interno della stessa soluzione.
È possibile modificare la versione di .NET a cui è destinato un progetto esistente.
Quando si modifica la versione di .NET a cui è destinato un progetto, Visual Studio esegue tutte le modifiche necessarie ai riferimenti e ai file di configurazione.
Quando si lavora a un progetto destinato a una versione precedente del framework, Visual Studio modifica in modo dinamico l'ambiente di sviluppo, come indicato di seguito:
Filtra gli elementi nella finestra di dialogo Aggiungi nuovo elemento , nella finestra di dialogo Aggiungi nuovo riferimento e nella finestra di dialogo Aggiungi riferimento al servizio per omettere le scelte non disponibili nella versione di destinazione.
Filtra i controlli personalizzati nella casella degli strumenti per rimuovere quelli che non sono disponibili nella versione di destinazione e visualizzare solo i controlli più aggiornati quando sono disponibili più controlli.
Vengono applicati i filtri IntelliSense per omettere funzionalità del linguaggio che non sono disponibili nella versione di destinazione.
Vengono filtrate le proprietà nella finestra Proprietà per omettere quelle che non sono disponibili nella versione di destinazione.
Vengono filtrate le opzioni di menu per omettere quelle che non sono disponibili nella versione di destinazione.
Per le compilazioni, vengono usate la versione e le opzioni del compilatore appropriate per la versione di destinazione.
Nota
- La definizione della destinazione del framework non garantisce che l'applicazione verrà eseguita correttamente. È necessario testare l'applicazione per assicurarsi che venga eseguita la versione di destinazione.
- Non è possibile impostare come destinazione versioni di framework precedenti a .NET Framework 2.0.
Modificare il framework di destinazione
In un progetto Visual Basic, C# o F# esistente è possibile modificare la versione di .NET di destinazione nella finestra di dialogo delle proprietà del progetto. Per informazioni su come modificare la versione di destinazione per i progetti C++, vedere Modificare il framework di destinazione e il set di strumenti della piattaforma.
In Esplora soluzioni aprire il menu di scelta rapida del progetto che si desidera modificare e quindi scegliere Proprietà.
Nella colonna sinistra della finestra Proprietà scegliere la scheda Applicazione.
Nota
Dopo aver creato un'app per la piattaforma UWP, non è possibile cambiare la versione di Windows o .NET impostata come destinazione.
Nell'elenco Framework di destinazione selezionare la versione appropriata.
Nella finestra di dialogo di verifica visualizzata scegliere Sì.
Il progetto verrà scaricato. Una volta caricato nuovamente, il progetto sarà destinato alla versione di .NET appena selezionata.
In Esplora soluzioni aprire il menu di scelta rapida del progetto che si desidera modificare e quindi scegliere Proprietà.
Nella colonna sinistra della finestra Proprietà scegliere la scheda Applicazione.
Nota
Dopo aver creato un'app per la piattaforma UWP, non è possibile cambiare la versione di Windows o .NET impostata come destinazione.
Nell'elenco Framework di destinazione selezionare la versione appropriata.
Per un progetto .NET Framework, la finestra di dialogo visualizzata potrebbe essere simile alla schermata seguente:
Per un progetto .NET, la finestra di dialogo potrebbe essere simile alla schermata seguente:
Se viene visualizzata una finestra di dialogo di verifica, scegliere il pulsante Sì .
Il progetto verrà scaricato. Una volta caricato nuovamente, il progetto sarà destinato alla versione di .NET appena selezionata.
Nota
Se il codice contiene riferimenti a una versione di .NET diversa da quella impostata come destinazione, è possibile che vengano visualizzati dei messaggi di errore durante la compilazione o l'esecuzione del codice. Per risolvere questi errori, modificare i riferimenti. Vedere Risolvere i problemi relativi agli errori di impostazione di .NET come destinazione.
Suggerimento
A seconda del framework di destinazione, può essere rappresentato nei modi seguenti nel file di progetto:
- Per un'app .NET Core:
<TargetFramework>netcoreapp2.1</TargetFramework>
- Per un'app .NET Standard:
<TargetFramework>netstandard2.0</TargetFramework>
- Per un'app .NET Framework:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Selezione una versione di .NET Framework di destinazione
Quando si crea un progetto .NET Framework, è possibile selezionare la versione di .NET Framework di destinazione dopo la selezione di un modello di progetto. L'elenco di framework disponibili include le versioni di framework installate applicabili al tipo di modello selezionato. Per i modelli di progetto che non richiedono .NET Framework, ad esempio i modelli per .NET Core, l'elenco a discesa Framework non viene visualizzato.
Se si sceglie di creare un progetto .NET Framework, verrà visualizzata un'interfaccia simile alla schermata seguente:
Se si sceglie di creare un progetto .NET, verrà visualizzata l'interfaccia utente simile alle due schermate seguenti.
La prima schermata visualizzata è la finestra di dialogo Configura il nuovo progetto .
La seconda schermata visualizzata è la finestra di dialogo Opzioni aggiuntive .
Risolvere i riferimenti ad assembly di sistema e utente
Prima di impostare una versione di .NET come destinazione, è necessario installare i riferimenti ad assembly appropriati. È possibile scaricare Developer Pack per versioni diverse di .NET dalla pagina dei download di .NET.
Per i progetti .NET Framework, la finestra di dialogo Aggiungi riferimento disabilita gli assembly di sistema che non riguardano la versione di .NET Framework di destinazione in modo che non possano essere aggiunti inavvertitamente a un progetto. Gli assembly di sistema sono file DLL inclusi in una versione di .NET Framework. I riferimenti che appartengono a una versione del framework superiore alla versione di destinazione non verranno risolti e i controlli che dipendono da tale riferimento non possono essere aggiunti. Se si vuole abilitare questo riferimento, reimpostare la destinazione di .NET Framework del progetto su una che include il riferimento.
Per altre informazioni sui riferimenti ad assembly, vedere Risoluzione di assembly in fase di progettazione.
Abilitare LINQ
Quando si usa .NET Framework 3.5 o versioni successive, vengono aggiunti automaticamente un riferimento a System.Core e un'importazione a livello di progetto per System.Linq (solo in Visual Basic). Per usare le funzionalità LINQ, è necessario attivare anche Option Infer
(solo in Visual Basic). Se si passa a una versione precedente di .NET Framework, il riferimento e l'importazione vengono rimossi automaticamente. Per altre informazioni, vedere Uso di LINQ.