Laufzeitinitialisierung aus einer COM-Anwendung
Aktualisiert: November 2007
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, können COM-Anwendungen vorab eine bestimmte Version der Common Language Runtime programmgesteuert laden, indem sie die CorBindToRuntimeHost-Methode (exportiert aus mscoree.dll) aufrufen. Die Anwendung kann aber entsprechend der aktivierten COM-Klasse auch auf eine andere Version der Common Language Runtime verweisen, indem sie die GetRequestedRuntimeVersionForCLSID-Methode (ebenfalls aus mscoree.dll exportiert) aufruft und den Rückgabewert an CorBindToRuntimeHost übergibt.
Wenn keiner der oben genannten Faktoren gegeben ist, lädt der Startcode die aktuellste auf dem Computer installierte kompatible Version der Common Language Runtime.
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.
Hinweis: |
---|
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