Laden der Laufzeit in einen Prozess

Bevor verwalteter Code ausgeführt werden kann, muss die 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.

Hinweis

Die von .NET Framework-Versionen vor .NET Framework 4 bereitgestellten Hosting-Methoden sind veraltet.Es wird empfohlen, die mit .NET Framework 4 eingeführten und in diesem Thema beschriebenen Schnittstellen zu verwenden.

Ein Host kann die CLR mit einem der folgenden Verfahren in einen Prozess laden:

Der Prototyp für all diese Schnittstellen befindet sich in der Datei Metahost.h, die im Includeverzeichnis des Windows Software Development Kit (SDK) gespeichert ist. Hosts können sowohl die ICLRRuntimeInfo-Schnittstelle als auch die ICLRRuntimeHost-Schnittstelle verwenden, um die zu ladende Runtimeversion anzugeben und das Verhalten grundlegender Funktionen zu steuern, z. B. automatische Speicherbereinigung und Laden von Assemblys.

Verwenden Sie die ICLRRuntimeHost-Schnittstelle, um die folgenden Aktionen auszuführen:

  • Starten der Runtime durch Aufrufen der ICLRRuntimeHost::Start-Methode.

  • Ausführen von verwaltetem Code.

  • Abrufen eines Zeigers auf die ICLRControl-Schnittstelle (die einen Zugriff auf die von der Common Language Runtime implementierten Manager bereitstellt) und Registrieren eines Hoststeuerobjekts, das die IHostControl-Schnittstelle implementiert. Die Common Language Runtime ruft die IHostControl-Schnittstelle auf, um zu bestimmen, welche Manager der Host implementiert.

Siehe auch

Referenz

AppDomainSetup

CorBindToRuntimeEx-Funktion

ICLRRuntimeHost-Schnittstelle

ICLRControl-Schnittstelle

Konzepte

Übergang in verwalteten Hostcode

Weitere Ressourcen

Übersicht über Hosting

Hosting (Referenz zur nicht verwalteten API)