Freigeben über


Laufzeitinitialisierung aus einer COM-Anwendung

Bevor eine COM-Anwendung einen verwalteten Typ aktivieren kann, muss die Common Language Runtime in den Speicher geladen werden. Obwohl COM-Interop die Common Language Runtime (im Gegensatz zum Runtimestartcode) nicht lädt, kann eine COM-Anwendung auf eine bestimmte Version der Common Language Runtime verweisen.

Die folgenden Faktoren bestimmen die Version der Common Language Runtime:

  • Eine COM-Anwendung kann die Version der Common Language Runtime in einer Anwendungskonfigurationsdatei angeben. Weitere Informationen finden Sie unter Konfigurieren einer COM-Anwendung für die parallele Ausführung.

  • Die Common Language Runtime kann bereits durch einen erweiterbaren Host wie Microsoft Internet Explorer oder Microsoft Office in den Speicher geladen worden sein. Die eingebundene COM-Anwendung verwendet die Common Language Runtime, die für den Host zum Ausführen verwalteter Komponenten geladen wurde.

  • Wenn eine strikte Steuerung erforderlich ist, kann eine COM-Anwendung vorab eine bestimmte Version der Common Language Runtime programmgesteuert laden, indem sie die ICLRMetaHostPolicy::GetRequestedRuntime-Methode aufruft (exportiert aus "mscoree.dll"). Die Anwendung kann aber entsprechend der aktivierten COM-Klasse auch auf eine andere Version der Common Language Runtime verweisen, indem sie die GetRequestedRuntimeVersionForCLSID-Funktion (ebenfalls aus "mscoree.dll" exportiert) aufruft und den Rückgabewert an die CorBindToRuntimeHost-Funktion übergibt.

In Ermangelung dieser Faktoren lädt der Startcode die Laufzeit gemäß dem in Konfigurieren einer COM-Anwendung für die parallele Ausführung beschriebenen Standardladeverhalten.

Typauflösung

Wenn mehrere Versionen einer Assembly mit dem zu aktivierenden Typ in der Windows-Registrierung vorhanden sind, lädt die Common Language Runtime standardmäßig die aktuellste Version.

Wenn die COM-Anwendung über eine Anwendungskonfigurationsdatei verfügt, kann die Bindung zu einem Typ in einer bestimmten Version einer Assembly umgeleitet werden. Weitere Informationen finden Sie unter Konfigurieren einer COM-Anwendung für die parallele Ausführung.

HinweisHinweis

Mit .NET Framework, Version 1.0, installierte Komponenten verfügen nicht über versionsabhängige Registrierungsschlüssel.Bei diesen Komponenten ist nur eine Version eines Typs für die Verwendung durch COM auf dem Computer verfügbar.

Siehe auch

Konzepte

Versionsabhängige Registrierungsschlüssel

Konfigurieren einer COM-Anwendung für die parallele Ausführung

Anwenden versionsabhängiger Attribute

COM-Komponenten und parallele Ausführung

Weitere Ressourcen

Parallele Ausführung für COM-Interop