Compartir a través de


Configurar una aplicación COM para ejecución en paralelo

El archivo de configuración de la aplicación permite a una aplicación COM enlazar a un componente administrado específico y especificar qué versión del motor en tiempo de ejecución ejecuta el componente. Los programadores de aplicaciones COM pueden crear un archivo de configuración de la aplicación .NET Framework e implementarlo en sus aplicaciones.

Comportamiento de carga predeterminado

Si una aplicación no administrada no tiene un archivo de configuración, la versión del runtime que se utiliza para cargar el componente se determina de la siguiente manera:

  • Si el componente se creó en .NET Framework 4 o posterior, se cargará con el runtime que se usó para crearlo.

  • Si el componente se creó con una versión anterior de .NET Framework, se cargará con la última versión del runtime que esté instalada en el equipo y que sea anterior a la versión 4. Por ejemplo, si un componente se creó en .NET Framework 1.1 y hay tres versiones de .NET Framework (.NET Framework 1.1, .NET Framework 3.5 SP1 y .NET Framework 4) instaladas en el equipo, el componente se cargará con .NET Framework 3.5 SP1. Este es el comportamiento predeterminado de .NET Framework 4.

Este comportamiento de carga afecta a los componentes que se cargan en paralelo en el mismo proceso. El runtime de .NET Framework 4 puede ejecutarse en el mismo proceso que un runtime de una versión anterior de .NET Framework. Vea Ejecución en paralelo y en proceso.

Especificar la versión del motor en tiempo de ejecución

Si el comportamiento de carga predeterminado no cumple los requisitos de una aplicación COM, podrá utilizar el elemento <supportedRuntime> en un archivo de configuración de la aplicación para especificar la versión de runtime que la aplicación requiere. Se puede especificar, por ejemplo, la versión 1.1.4322 del motor en tiempo de ejecución, que carga la versión 1.1 de .NET Framework. Para obtener instrucciones, vea Utilizar una versión de .NET Framework.

Nota

Las aplicaciones COM hospedadas en un host extensible, como Microsoft Internet Explorer o Microsoft Office, no pueden tener control sobre la versión del motor en tiempo de ejecución que se carga.

Si hay componentes que se crearon con .NET Framework 4 y con una versión anterior de .NET Framework, deberá mencionar ambas versiones como runtimes compatibles, porque de manera predeterminada no se utiliza .NET Framework 4 para cargar el componente anterior. Para que el componente anterior se cargue con .NET Framework 4, establezca el atributo useLegacyV2RuntimeActivationPolicy en true en el elemento <startup> del archivo de configuración. De este modo, se revierte al comportamiento de carga predeterminado anterior a .NET Framework 4, el cual sirve para usar la última versión compatible de .NET Framework.

Especificar una versión de ensamblado

Si no hay un archivo de configuración de la aplicación, el motor en tiempo de ejecución carga la última versión del ensamblado registrada en el Registro de Windows que contenga el tipo que hay que activar desde COM. Puede utilizar el elemento <bindingRedirect> en un archivo de configuración de la aplicación para indicar a su aplicación que debe enlazarse a una versión de ensamblado anterior. Para obtener instrucciones, vea Redirigir versiones de ensamblado.

Se pueden redirigir varias versiones de un ensamblado incluyendo varios elementos <bindingRedirect> en un elemento <dependentAssembly>.

Vea también

Referencia

Elemento <startup>

<supportedRuntime> (Elemento)

Elemento <bindingRedirect>

Conceptos

Inicialización en tiempo de ejecución desde una aplicación COM

Claves del Registro que dependan de la versión

Aplicar atributos que dependen de la versión

Componentes COM y ejecución en paralelo

Redirigir versiones de ensamblado

Otros recursos

Ejecución simultánea para interoperabilidad COM