Condividi tramite


Caricamento di Common Language Runtime in un processo

Aggiornamento: novembre 2007

Prima che sia possibile eseguire alcun codice gestito, l'host deve caricare e inizializzare Common Language Runtime. Tutti gli host iniziano con uno stub non gestito perché il runtime non è ancora in esecuzione nel processo. Per avviare il runtime, l'host può utilizzare un set di API non gestite fornite da .NET Framework e definite API di hosting. Per ulteriori informazioni, vedere Interfacce di hosting.

Per caricare il runtime in un processo, un host chiama la funzione Funzione CorBindToRuntimeEx. Il prototipo per Funzione CorBindToRuntimeEx è disponibile in Mscoree.h nella directory Include di Windows Software Development Kit (SDK). L'host utilizza Funzione CorBindToRuntimeEx per stabilire quale versione del runtime caricare e il comportamento di funzioni di base quali la Garbage Collection e il caricamento degli assembly. L'host può impostare i valori elencati nella tabella che segue.

Valore

Descrizione

Garbage Collection contemporanea

Specifica se la procedura di Garbage Collection viene eseguita in thread in background o nei thread in cui viene eseguito il codice utente.

Ottimizzazione del caricamento

Determina se gli assembly vengono caricati in modo indipendente dal dominio. Il caricamento degli assembly in modo indipendente dal dominio consente di condividere il codice degli assembly compilati tramite JIT e le strutture dati di runtime di sola lettura tra tutti i domini applicazione in un processo.

Per ulteriori informazioni, vedere Domini applicazione e assembly.

Server o workstation

Specifica se caricare la build per workstation ("wks") o la build per server ("svr") del runtime.

Version

Specifica quale versione del runtime caricare nel processo. Per caricare la versione 1.0, utilizzare "v1.0.3705". Per caricare la versione 1.1, utilizzare "v1.1.4322". Per caricare la versione 2.0, utilizzare "v2.0.50727". Un processo può caricare solo una versione del runtime.

Per ulteriori informazioni, vedere Esecuzione contemporanea di diverse versioni

Funzione CorBindToRuntimeEx accetta tre ulteriori parametri: CLSID dell'oggetto che contiene l'interfaccia ICLRRuntimeHost (CLSID_CLRRuntimeHost), IID dell'interfaccia (IID_ICLRRuntimeHost) e un parametro [out] che riceve il puntatore ICLRRuntimeHost.

Nota:

Per le versioni 1.0 e 1.1, utilizzare CLSID_CorRuntimeHost e IID_ICorRuntimeHost per ottenere l'interfaccia ICorRuntimeHost.

Utilizzare ICLRRuntimeHost per avviare il runtime, eseguire il codice gestito, ottenere un puntatore all'interfaccia ICLRControl che fornisce l'accesso ai gestori implementati da Common Language Runtime e registrare un oggetto controllo host che implementa l'interfaccia IHostControl. Common Language Runtime chiama IHostControl per determinare i gestori implementati dall'host.

Vedere anche

Concetti

Transizione al codice di hosting gestito

Riferimenti

AppDomainSetup

Funzione CorBindToRuntimeEx

ICLRRuntimeHost

ICLRControl

Altre risorse

Hosting di Common Language Runtime