Determinazione della versione del runtime da caricare

In Common Language Runtime, per determinare la versione del runtime da caricare per un'applicazione vengono utilizzate le seguenti informazioni:

  • Versioni di runtime disponibili.

  • Versioni di runtime supportate da un'applicazione.

Versioni di runtime supportate

Per determinare la versione del runtime supportata da un'applicazione, nel runtime vengono utilizzati il file di configurazione dell'applicazione e l'intestazione del file portabile eseguibile (PE, Portable Executable). In assenza di un file di configurazione dell'applicazione, verrà caricata, se disponibile, la versione di runtime specificata nell'intestazione del file PE dell'applicazione.

In presenza di un file di configurazione dell'applicazione, la versione di runtime appropriata da caricare verrà determinata in base ai risultati del processo illustrato di seguito.

  1. Viene esaminato l'Elemento <supportedRuntime> nel file di configurazione dell'applicazione. Se sono presenti una o alcune delle versioni di runtime supportate, specificate nell'elemento <supportedRuntime>, verrà caricata la versione di runtime specificata nel primo elemento <supportedRuntime>. Se tale versione non è disponibile, verrà esaminato l'elemento <supportedRuntime> successivo e verrà tentato il caricamento della versione di runtime specificata. Se tale versione di runtime non è disponibile, verranno esaminati gli elementi <supportedRuntime> successivi. Se non è disponibile nessuna delle versioni supportate, il caricamento di una versione di runtime avrà esito negativo e verrà visualizzato un messaggio all'utente (vedere il passaggio 3).

  2. Viene letta l'intestazione di file PE del file eseguibile dell'applicazione. Se disponibile, verrà caricata la versione di runtime specificata nell'intestazione del file PE. In caso contrario, verrà cercata una versione di runtime, determinata da Microsoft, compatibile con la versione di runtime riportata nell'intestazione del file PE. Se tale versione non viene trovata, il processo prosegue con il passaggio 3.

  3. Viene visualizzato un messaggio con cui viene segnalato che la versione di runtime supportata dall'applicazione non è disponibile. Il runtime non viene caricato.

    Nota

    È possibile evitare la visualizzazione di questo messaggio utilizzando il valore NoGuiFromShim nella chiave del Registro di sistema HKLM\Software\Microsoft\.NETFramework o la variabile di ambiente COMPLUS_NoGuiFromShim. Ad esempio, è possibile evitare la visualizzazione del messaggio per le applicazioni che in genere non interagiscono con l'utente, ad esempio le installazioni automatiche o i servizi Windows. Quando la visualizzazione del messaggio è annullata, il runtime scrive un messaggio nel log eventi. Impostare il valore del Registro di sistema NoGuiFromShim su 1 per evitare la visualizzazione del messaggio per tutte le applicazioni su un computer. Alternativamente, impostare la variabile di ambiente COMPLUS_NoGuiFromShim su 1 per evitare la visualizzazione del messaggio per le applicazioni eseguite nel contesto di un determinato utente.

Nota

Dopo il caricamento di una versione runtime, nei reindirizzamenti dell'associazione di assembly è possibile specificare il caricamento di una diversa versione di un singolo assembly .NET Framework. Questi reindirizzamenti dell'associazione influiscono solo sullo specifico assembly che viene reindirizzato.

Vedere anche

Concetti

Reindirizzamento delle versioni di assembly
Individuazione delle informazioni sulla versione di runtime
Configurazione del reindirizzamento dell'associazione di assembly

Altre risorse

Nozioni fondamentali sull'esecuzione affiancata di diverse versioni