Compartir a través de


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.

NotaNota

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

Otros recursos

Ejecución simultánea para interoperabilidad COM