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.
![]() |
---|
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