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 versión 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 versión 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
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