Inicialización en tiempo de ejecución desde una aplicación COM
Antes de que una aplicación COM pueda activar un tipo administrado, Common Language Runtime debe estar cargado en la memoria. Aunque la interoperabilidad COM no carga realmente el motor en tiempo de ejecución (lo hace el código de inicio del tiempo de ejecución), las aplicaciones COM pueden tener como objetivo una versión específica del motor en tiempo de ejecución.
Los factores siguientes determinan la versión del motor en tiempo de ejecución:
Las aplicaciones COM pueden especificar la versión del motor en tiempo de ejecución en los archivos de configuración de la aplicación. Para obtener información adicional, vea Configurar una aplicación COM para ejecución en paralelo.
El motor en tiempo de ejecución puede estar ya cargado en la memoria mediante un host extensible como Microsoft Internet Explorer o Microsoft Office. La aplicación COM de complementos utiliza el motor en tiempo de ejecución que se carga para el host para ejecutar componentes administrados.
Cuando se necesita un control estricto, las aplicaciones COM pueden cargar previamente una versión específica del runtime mediante programación, invocando el método ICLRMetaHostPolicy::GetRequestedRuntime (exportado de mscoree.dll). Como alternativa, la aplicación puede orientarse a una versión diferente del runtime, basándose en una clase COM activada, invocando la función GetRequestedRuntimeVersionForCLSID (también exportado de mscoree.dll) y pasando el valor devuelto a la función CorBindToRuntimeHost.
En ausencia de estos factores, el código de inicio carga el runtime según el comportamiento de carga predeterminado descrito en Configurar una aplicación COM para ejecución en paralelo.
Resolución de tipo
Si en el Registro de Windows existen varias versiones de un ensamblado que contiene el tipo que hay que activar, de manera predeterminada, el motor en tiempo de ejecución carga la última versión.
Si la aplicación COM tiene un archivo de configuración de la aplicación, el enlace se puede redirigir a un tipo en una versión específica de un ensamblado. Para obtener información adicional, vea Configurar una aplicación COM para ejecución en paralelo.
Nota |
---|
Los componentes instalados con la versión 1.0 de .NET Framework no tienen Claves del Registro que dependen de la versión.Para estos componentes, en el equipo sólo hay una versión de un tipo disponible para ser usado por COM. |
Vea también
Conceptos
Claves del Registro que dependan de la versión
Configurar una aplicación COM para ejecución en paralelo
Aplicar atributos que dependen de la versión
Componentes COM y ejecución en paralelo