Freigeben über


Laden der Common Language Runtime in einen Prozess

Aktualisiert: November 2007

Bevor verwalteter Code ausgeführt werden kann, muss Common Language Runtime vom Host geladen und initialisiert werden. Alle Hosts beginnen mit einem nicht verwalteten Stub, da Common Language Runtime noch nicht im Prozess ausgeführt wird. In .NET Framework steht ein Satz nicht verwalteter APIs, so genannte Hosting-APIs, zur Verfügung, mit denen die Common Language Runtime vom Host gestartet werden kann. Weitere Informationen finden Sie unter Hostingschnittstellen.

Um die Common Language Runtime in einen Prozess zu laden, ruft ein Host die CorBindToRuntimeEx-Funktion-Funktion auf. Der Prototyp für CorBindToRuntimeEx-Funktion befindet sich in Mscoree.h im Includeverzeichnis von Windows Software Development Kit (SDK). Der Host bestimmt mithilfe von CorBindToRuntimeEx-Funktion, welche Version der Common Language Runtime geladen werden muss. Außerdem steuert er das Verhalten grundlegender Funktionen wie Garbage Collection und dem Laden von Assemblys. Ein Host kann die in der folgenden Tabelle aufgeführten Werte einstellen.

Wert

Beschreibung

Concurrent garbage collection

Gibt an, ob eine Garbage Collection der Hintergrundthreads erfolgt oder der Threads, die Benutzercode ausführen.

Loader optimization

Steuert, ob Assemblys domänenneutral geladen werden. Durch das domänenneutrale Laden von Assemblys können der JIT-kompilierte Assemblercode und schreibgeschützte Datenstrukturen der Common Language Runtime für alle Anwendungsdomänen innerhalb eines Prozesses freigegeben werden.

Weitere Informationen finden Sie unter Anwendungsdomänen und Assemblys.

Server vs. workstation

Gibt an, ob das Arbeitsstationsbuild ("wks") oder das Serverbuild ("svr") der Common Language Runtime geladen werden muss.

Version

Gibt an, welche Version von Common Language Runtime in den Prozess geladen werden soll. Um Version 1.0 zu laden, verwenden Sie "v1.0.3705". Um Version 1.1 zu laden, verwenden Sie "v1.1.4322". Um Version 2.0 zu laden, verwenden Sie "v2.0.50727". Ein Prozess kann nur eine Version der Common Language Runtime laden.

Weitere Informationen finden Sie unter Parallele Ausführung

CorBindToRuntimeEx-Funktion nimmt drei zusätzliche Parameter an: die CLSID des Objekts, das die ICLRRuntimeHost-Schnittstelle enthält, CLSID_CLRRuntimeHost; die IID der Schnittstelle, IID_ICLRRuntimeHost; und einen [out]-Parameter, der den ICLRRuntimeHost-Zeiger erhält.

Hinweis:

Verwenden Sie für die Versionen 1.0 und 1.1 CLSID_CorRuntimeHost und IID_ICorRuntimeHost, um die ICorRuntimeHost-Schnittstelle zu erhalten.

Verwenden Sie ICLRRuntimeHost, um die Common Language Runtime zu starten, verwalteten Code auszuführen, einen Zeiger auf die ICLRControl-Schnittstelle zu erhalten, die Zugriff auf die von der Common Language Runtime implementierten Manager ermöglicht, und ein Hoststeuerobjekt zu registrieren, das die IHostControl-Schnittstelle implementiert. Die Common Language Runtime ruft IHostControl auf, um zu bestimmen, welche Manager der Host implementiert.

Siehe auch

Konzepte

Übergang in verwalteten Hostcode

Referenz

AppDomainSetup

CorBindToRuntimeEx-Funktion

ICLRRuntimeHost

ICLRControl

Weitere Ressourcen

Bereitstellen der Common Language Runtime