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.
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