Condividi tramite


Panoramica degli obiettivi del framework

In Visual Studio è possibile specificare la versione di .NET di destinazione del progetto. La destinazione del framework garantisce che l'applicazione usi solo funzionalità disponibili nella versione del framework specificata. Affinché le app .NET Framework vengano eseguite in un altro computer, la versione del framework di destinazione dell'applicazione deve essere compatibile con la versione del framework 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 condizionali di riferimento per una singola compilazione o compilare file binari diversi per ogni framework di destinazione. Per ulteriori informazioni sui framework di destinazione, consultare Framework di destinazione.

Suggerimento (if the context refers to advice or a suggestion)

È anche possibile specificare come destinazione le applicazioni per piattaforme diverse. Per altre informazioni, vedere Multitargeting.

Funzionalità di destinazione del framework

La destinazione del framework include le funzionalità seguenti:

  • Quando si apre un progetto destinato a una versione precedente del framework, Visual Studio può aggiornare automaticamente il progetto o lasciare la destinazione as-is.

  • Quando si crea un progetto .NET Framework, è possibile specificare la versione di .NET Framework di destinazione.

  • È possibile mirare a più framework in un singolo progetto.

  • È possibile specificare come destinazione una versione diversa di .NET in ognuno di più progetti nella stessa soluzione.

  • È possibile modificare la versione di .NET di destinazione di un progetto esistente.

    Quando si modifica la versione di .NET destinata a un progetto, Visual Studio apporta le modifiche necessarie ai riferimenti e ai file di configurazione.

Quando si lavora su un progetto destinato a una versione precedente del framework, Visual Studio modifica dinamicamente 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ù up-to-date quando sono disponibili più controlli.

  • Filtra IntelliSense per omettere le funzionalità del linguaggio non disponibili nella versione di destinazione.

  • Filtra le proprietà nella finestra Proprietà per omettere quelle non disponibili nella versione di destinazione.

  • Filtra le opzioni di menu per omettere le opzioni non disponibili nella versione di destinazione.

  • Per le compilazioni, usa la versione del compilatore e le opzioni del compilatore appropriate per la versione di destinazione.

Nota

  • La destinazione del framework non garantisce che l'applicazione venga eseguita correttamente. È necessario testare l'applicazione per assicurarsi che venga eseguita sulla versione di destinazione.
  • Non è possibile usare le versioni del framework di destinazione precedenti a .NET Framework 2.0.

Modificare il framework di destinazione

In un progetto Visual Basic, C# o F# esistente si modifica la versione .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 Come modificare invece il framework di destinazione e il set di strumenti della piattaforma.

  1. In Esplora soluzioniaprire il menu di scelta rapida del progetto da modificare e quindi scegliere proprietà .

  2. Nella colonna sinistra della finestra Proprietà, scegliere la scheda Applicazione.

    scheda Applicazione delle proprietà del progetto

    Nota

    Dopo aver creato un'app UWP, non puoi modificare la versione di destinazione di Windows o .NET.

  3. Nell'elenco Framework di destinazione scegliere la versione desiderata.

  4. Nella finestra di dialogo di verifica visualizzata scegliere il pulsante .

    Il progetto viene scaricato. Quando viene ricaricato, punta alla versione .NET che hai appena scelto.

  1. In Esplora soluzioniaprire il menu di scelta rapida del progetto da modificare e quindi scegliere proprietà .

  2. Nella colonna sinistra della finestra Proprietà, scegliere la scheda Applicazione.

    Nota

    Dopo aver creato un'app UWP, non puoi modificare la versione di destinazione di Windows o .NET.

  3. Nell'elenco dei framework di destinazione, scegli la versione che desideri.

    Per un progetto .NET Framework , la finestra di dialogo visualizzata potrebbe essere simile alla schermata seguente:

    Screenshot della finestra di dialogo Proprietà progetto con le opzioni di .NET Framework evidenziate.

    Per un progetto .NET , la finestra di dialogo potrebbe essere simile alla schermata seguente:

    Screenshot della scheda Generale della finestra di dialogo Proprietà progetto con le selezioni «Framework di destinazione» visualizzate.

  4. Se viene visualizzata una finestra di dialogo di verifica, scegliere il pulsante .

    Il progetto si scarica. Quando viene ricaricato, si rivolge alla versione .NET appena scelta.

Destinare diversi framework

Con .NET 5 e versioni successive, è possibile compilare un progetto per più framework in una singola compilazione modificando manualmente il file di progetto. Apri il file di progetto, sostituisci la proprietà TargetFramework con TargetFrameworkse specifica il tuo elenco di Target Framework Monikers (TFM), separati da punti e virgola, come nel codice seguente:

   <TargetFrameworks>net7.0;net8.0</TargetFrameworks>

Consultare l'elenco dei TFM in Framework di destinazione nei progetti basati su SDK.

È necessario ricaricare il progetto dopo aver apportato questa modifica. Successivamente, se si apre la finestra proprietà, nella scheda applicazione, è possibile modificare l'elenco dei framework di destinazione.

Screenshot della scheda Generale della finestra di dialogo Proprietà del progetto con l'elenco

Nota

Se il codice contiene riferimenti a una versione diversa di .NET rispetto a quella di destinazione, è possibile che vengano visualizzati messaggi di errore durante la compilazione o l'esecuzione del codice. Per risolvere questi errori, modificare i riferimenti. Consulta per risolvere gli errori di destinazione di .NET.

Mancia

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>

Selezionare una versione del framework di destinazione

Quando si crea un progetto .NET Framework, è possibile selezionare la versione di .NET Framework di destinazione dopo aver selezionato un modello di progetto. L'elenco dei framework disponibili include le versioni del framework installate applicabili al tipo di modello selezionato. Per i modelli di progetto che non usano .NET Framework, ad esempio i modelli .NET Core, l'elenco a discesa Framework non viene visualizzato.

screenshot dell'elenco a discesa Framework in Visual Studio 2019.

Se si sceglie di creare un progetto .NET Framework, verrà visualizzata un'interfaccia simile allo screenshot seguente:

Screenshot dell'elenco a discesa Framework in Visual Studio 2022.

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 .

Screenshot della finestra di dialogo

La seconda schermata visualizzata è la finestra di dialogo Opzioni aggiuntive.

Screenshot della finestra di dialogo

Risolvere i riferimenti agli assembly di sistema e utente

Per specificare come destinazione una versione di .NET, è prima necessario installare i riferimenti all'assembly appropriati. È possibile scaricare pacchetti per sviluppatori per diverse versioni di .NET nella pagina 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 .dll file 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 un riferimento di questo tipo, reimpostare la destinazione .NET Framework del progetto su una destinazione che include il riferimento.

Per altre informazioni sui riferimenti agli assembly, vedere Risolvere gli assembly in fase di progettazione.

Abilitare LINQ

Quando si usa .NET Framework 3.5 o versione successiva, viene aggiunto automaticamente un riferimento a System.Core e un'importazione a livello di progetto per System.Linq (solo in Visual Basic). Se si desidera utilizzare le funzionalità LINQ, è necessario attivare anche Option Infer (solo in Visual Basic). Il riferimento e l'importazione vengono rimossi automaticamente se si modifica la destinazione in una versione precedente di .NET Framework. Per ulteriori informazioni, consultare Lavorare con LINQ.

Vedere anche