Share via


Inizializzazione del runtime da un'applicazione COM

Aggiornamento: novembre 2007

Affinché un'applicazione COM possa attivare un tipo gestito, è innanzitutto necessario caricare Common Language Runtime in memoria. Sebbene il caricamento del runtime non venga effettivamente eseguito tramite l'interoperabilità COM, bensì mediante il codice di avvio del runtime, un'applicazione COM può utilizzare una specifica versione del runtime.

La versione del runtime è determinata dai seguenti fattori:

  • Un'applicazione COM può specificare la versione del runtime in un file di configurazione dell'applicazione. Per ulteriori informazioni, vedereConfigurazione di un'applicazione COM per l'esecuzione side-by-side.

  • Il runtime può essere già stato caricato in memoria mediante un host estendibile, come Microsoft Internet Explorer o Microsoft Office. Il runtime caricato per l'host viene utilizzato dall'applicazione COM plug-in per l'esecuzione di componenti gestiti.

  • Se è necessario un controllo rigoroso, con un'applicazione COM può essere precaricata una specifica versione del runtime a livello di codice, richiamando il metodo CorBindToRuntimeHost esportato da mscoree.dll. In alternativa, l'applicazione può utilizzare una diversa versione del runtime, in base alla classe COM attivata, richiamando il metodo GetRequestedRuntimeVersionForCLSID, anch'esso esportato da mscoree.dll, e passando il valore restituito a CorBindToRuntimeHost.

In assenza di questi fattori, con il codice di avvio viene caricata la più recente versione compatibile del runtime installata sul computer.

Risoluzione dei tipi

Se nel Registro di sistema di Windows sono presenti più versioni di un assembly contenente il tipo da attivare, per impostazione predefinita il runtime determina il caricamento della versione più recente.

Se l'applicazione COM dispone di un file di configurazione dell'applicazione, è possibile reindirizzare l'associazione a un tipo di una specifica versione di un assembly. Per ulteriori informazioni, vedereConfigurazione di un'applicazione COM per l'esecuzione side-by-side.

Nota:

I componenti installati con .NET Framework versione 1.0 non dispongono di chiavi del Registro di sistema dipendenti dalla versione. Per questi componenti, sul computer è disponibile una sola versione di un tipo utilizzabile da COM.

Vedere anche

Concetti

Chiavi del Registro di sistema dipendenti dalla versione

Configurazione di un'applicazione COM per l'esecuzione side-by-side

Applicazione di attributi dipendenti dalla versione

Componenti COM ed esecuzione side-by-side

Altre risorse

Esecuzione side-by-side per l'interoperabilità COM