Procedura: Configurare un'app per supportare .NET Framework 4 o versioni successive

Per tutte le app che ospitano Common Language Runtime (CLR) è necessario che venga avviato o attivato CLR per eseguire codice gestito. In genere, un'app .NET Framework viene eseguita nella versione di CLR basata su , ma è possibile modificare questo comportamento per le app desktop usando un file di configurazione dell'applicazione (talvolta definito file di app.config). Tuttavia, non è possibile modificare il comportamento di attivazione predefinito per le applicazioni Windows Store o Windows Phone tramite un file di configurazione specifico. In questo articolo viene illustrato come consentire l'esecuzione dell'app desktop in un'altra versione di .NET Framework e viene fornito un esempio per l'esecuzione nella versione 4 o versioni successive.

La versione di .NET Framework in cui viene eseguita un'app è determinata nell'ordine seguente:

  • File di configurazione.

    Se il file di configurazione dell'applicazione include <voci supportateRuntime> che specificano una o più versioni di .NET Framework e una di queste versioni è presente nel computer dell'utente, l'app viene eseguita in tale versione. Il file di configurazione legge le voci supportateRuntime> nell'ordine in cui sono elencate< e usa la prima versione di .NET Framework elencata nel computer dell'utente. Usare l'elemento< requiredRuntime> per la versione 1.0.

  • Versione compilata.

    Se il file di configurazione non è presente, ma la versione di .NET Framework con cui è stata creata l'app si trova nel computer dell'utente, l'app verrà eseguita in tale versione.

  • Versione più recente installata.

    Se la versione di .NET Framework basata sull'app non è presente e un file di configurazione non specifica una versione in un <elemento supportatoRuntime>, l'app tenta di eseguire nella versione più recente di .NET Framework presente nel computer dell'utente.

    Tuttavia, .NET Framework 1.0, 1.1, 2.0, 3.0 e app 3.5 non vengono eseguite automaticamente in .NET Framework 4 o versioni successive e, in alcuni casi, l'utente potrebbe ricevere un errore e potrebbe essere richiesto di installare .NET Framework 3.5. Il comportamento di attivazione può dipendere anche dal sistema operativo dell'utente, perché diverse versioni del sistema Windows includono versioni diverse di .NET Framework. Se l'app supporta .NET Framework versione 3.5 e 4 o successive, è consigliabile indicare questa opzione con più voci nel file di configurazione onde evitare errori di inizializzazione di .NET Framework. Per altre informazioni, vedere Versioni e dipendenze.

È inoltre possibile configurare le app .NET Framework 3.5 in .NET Framework 4 o versioni successive, anche nei computer in cui è installato .NET Framework 3.5, per sfruttare i miglioramenti nelle prestazioni nelle versioni 4 e versioni successive.

Importante

È consigliabile testare sempre l'app in ogni versione di .NET Framework supportata. Vedere Compatibilità tra le versioni per informazioni su come aggiornare l'applicazione per il supporto di versioni successive di .NET Framework.

Per informazioni sulla modifica delle app .NET Framework 1.0 e 1.1 per il supporto di Windows 7 e Windows 8, vedere Migrazione da .NET Framework 1.1.

Per configurare un'app per eseguirla in. NET Framework 4 o versioni successive

  1. Aggiungere o individuare il file di configurazione per il progetto .NET Framework. Il file di configurazione per un'app si trova nella stessa directory e ha lo stesso nome dell'app, ma presenta un'estensione config. Per un'app denominata MyExecutable.exe, ad esempio, il file di configurazione deve essere MyExecutable.exe.config.

    Per aggiungere un file di configurazione, nella barra dei menu di Visual Studio scegliere Progetto, Aggiungi nuovo elemento. Scegliere Generale nel riquadro sinistro, quindi File di configurazione. Assegnare un nome al file di configurazioneApp.config. Queste opzioni di menu non sono disponibili per i progetti di app di Windows Store o app di Windows Phone, perché non è possibile modificare i criteri di attivazione in tali piattaforme.

  2. Aggiungere l'elemento <supportatoRuntime> come indicato di seguito al file di configurazione dell'applicazione:

    <configuration>
      <startup>
        <supportedRuntime version="version"/>
      </startup>
    </configuration>
    

    dove <la versione> specifica la versione CLR allineata alla versione di .NET Framework supportata dall'app. Utilizzare le stringhe seguenti:

    • .NET Framework 1.0: "v1.0.3705"

    • .NET Framework 1.1: "v1.1.4322"

    • .NET Framework 2.0, 3.0 e 3.5: "v2.0.50727"

    • .NET Framework 4 e versioni successive: "v4.0"

    È possibile aggiungere più <elementi supportedRuntime> , elencati in ordine di preferenza, per specificare il supporto per più versioni di .NET Framework.

Nella tabella seguente viene illustrato il modo in cui le impostazioni del file di configurazione dell'applicazione e le versioni di .NET Framework installate in un computer determinano la versione in cui viene eseguita un'app .NET Framework 3.5. Gli esempi sono specifici di un'applicazione .NET Framework 3.5, ma una logica simile può essere utilizzata anche con applicazioni di destinazione create con versioni di .NET Framework precedenti. Il numero di versione di .NET Framework 2.0 (v2.0.50727) viene utilizzato per specificare .NET Framework 3.5 nel file di configurazione dell'applicazione.

Impostazione del file app.config In un computer in cui è installata la versione 3.5. In computer con le versioni 3.5 e 4 o versioni successive installate In computer con versione 4 o versioni successive installate
Nessuno In esecuzione nella versione 3.5. In esecuzione nella versione 3.5. Viene visualizzato un messaggio di errore che richiede all'utente di installare la versione corretta*
<supportedRuntime version="v2.0.50727"/> In esecuzione nella versione 3.5. In esecuzione nella versione 3.5. Viene visualizzato un messaggio di errore che richiede all'utente di installare la versione corretta*
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
In esecuzione nella versione 3.5. In esecuzione nella versione 3.5. In esecuzione nella versione 4 o versioni successive
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
In esecuzione nella versione 3.5. In esecuzione nella versione 4 o versioni successive In esecuzione nella versione 4 o versioni successive
<supportedRuntime version="v4.0"/> Viene visualizzato un messaggio di errore che richiede all'utente di installare la versione corretta* In esecuzione nella versione 4 o versioni successive In esecuzione nella versione 4 o versioni successive

* Per altre informazioni su questo messaggio di errore e sui modi per evitarlo, vedere Errori di inizializzazione di .NET Framework: Gestione dell'esperienza utente.

Vedi anche