Condividi tramite


Inizializzazione del runtime da un'applicazione COM

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 è possibile precaricare una versione specifica del runtime a livello di codice, richiamando il metodo ICLRMetaHostPolicy::GetRequestedRuntime esportato da mscoree.dll. In alternativa, l'applicazione può essere destinata a una versione diversa del runtime, in base a una classe COM attivata, richiamando la funzione GetRequestedRuntimeVersionForCLSID, anch'essa esportata da mscoree.dll, e passando il valore restituito alla funzione CorBindToRuntimeHost.

In assenza di questi fattori, il codice di avvio carica il runtime in base al comportamento di caricamento predefinito descritto in Configurazione di un'applicazione COM per l'esecuzione side-by-side.

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.

NotaNota

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