Archivos de configuración de activación
Una aplicación que proporcione un modelo de extensibilidad administrado puede necesitar extensiones que se ejecuten con una determinada versión del runtime de .NET Framework, donde esa versión se especifique en un archivo de configuración de la aplicación o un archivo de configuración de host. Antes de .NET Framework versión 4, el único modo de escribir extensiones con una versión posterior del runtime consistía en proporcionar un archivo de configuración diferente para la aplicación. Desgraciadamente, esto tenía una consecuencia no deseada, pues obligaba a todas las extensiones a usar el runtime más reciente.
Los archivos de configuración de activación constituyen una solución alternativa en el caso concreto en el que el autor de una extensión usa un modelo de extensibilidad de la aplicación como plataforma y controla completamente todas las extensiones que se cargan. En este caso, es razonable permitir que el autor de la extensión decida qué versión del runtime se va a cargar y activar.
Por ejemplo, es posible que desee usar .NET Framework 4 para crear un conjunto de complementos de Microsoft Management Console (MMC) para personalizar la interfaz de usuario de una consola de administración en equipos donde MMC especifica la activación del runtime de .NET Framework versión 2.0. No puede reemplazar directamente la información de activación de MMC, pero puede usar una variable de entorno para especificar la ubicación de un archivo de configuración de activación que lo sustituya en una consola determinada, de modo que el runtime de .NET Framework 4 se active cuando se inicie la consola.
Proporcionar un archivo configuración de activación
Los nombres de archivo de configuración de activación siguen el mismo modelo que los nombres de archivo de configuración de la aplicación, pero usan la extensión .activation_config. Por ejemplo, una aplicación denominada MyApp.exe tiene un archivo de configuración de la aplicación denominado MyApp.exe.config y un archivo de configuración de activación denominado MyApp.exe.activation_config.
Los archivos de configuración de activación pueden contener elementos del archivo de configuración, pero los únicos elementos que se analizan son aquellos que se usan normalmente para la activación:
Elementos de la sección <startup>.
Elementos <gcServer>, <appdomainResourceMonitoring> y <etwEnable> de la sección <runtime>.
Importante Asegúrese de que estos tres valores de la sección <runtime> del archivo de configuración de activación son iguales que los valores correspondientes del archivo de configuración de la aplicación o host.
El archivo de configuración de activación solamente lo usa el código de correcciones de compatibilidad (shim) que inicia el runtime. El runtime no tiene ninguna interacción con el archivo.
Una vez creado el archivo de configuración de la aplicación, establezca la variable de entorno COMPLUS_ApplicationMigrationRuntimeActivationConfigPath en la ruta de acceso en la que se encuentra el archivo. Durante el proceso de selección del runtime que se va a activar, se busca en esta ruta de acceso un archivo de configuración de la aplicación cuyo nombre coincida con el modelo.
Si la variable de entorno se establece pero la ruta de acceso especificada no contiene ningún archivo de configuración de activación que coincida con el modelo, es como de costumbre el archivo de configuración de la aplicación o host el que controla la activación del runtime.
La variable de entorno se puede establecer globalmente o mediante un proceso de inicio que configure el entorno. El establecimiento de variables de entorno globales depende de las condiciones de carrera con otras aplicaciones.
Por ejemplo, en la sesión de línea de comandos siguiente se copia un archivo de configuración de activación en una carpeta, se establece la variable de entorno en esa ruta de acceso y se ejecuta la aplicación:
copy c:\MyConfigs\MyApp.exe.activation_config c:\CustomConfigs
set COMPLUS_ApplicationMigrationRuntimeActivationConfigPath =
c:\CustomConfigs
c:\Program Files\MyApp\MyApp.exe
En el archivo de configuración de activación siguiente se especifica la activación del runtime .NET Framework 4 y se duplica un valor <appDomainResourceMonitoring> hipotético del archivo de configuración de una aplicación hipotética:
<configuration>
<startup>
<supportedRuntime version="v4.0.xxxx"/>
</startup>
<runtime>
<appDomainResourceMonitoring enabled="true"/>
</runtime>
</configuration>
Métodos de activación compatibles
Los archivos de configuración de activación afectan a los siguientes métodos de activación. El término "heredado/a" hace referencia a las versiones de .NET Framework anteriores a .NET Framework 4.
Ejecutar cualquier archivo .exe administrado en un equipo donde está instalado .NET Framework 4.
Usar la API de hospedaje heredada; por ejemplo, la función global CorBindToRuntimeHost.
Cargar y ejecutar componentes de modo mixto heredados creados con Visual C++.
Cargar y ejecutar componentes COM heredados.
Nota Cuando se cargan y ejecutan componentes COM creados con .NET Framework 4 o versiones posteriores, no se usan archivos de configuración de activación.
Usar el método ICLRMetaHostPolicy::GetRequestedRuntime en la API de hospedaje con la marca METAHOST_POLICY_USE_PROCESS_IMAGE_PATH.
Usar el método ICLRMetaHostPolicy::GetRequestedRuntime y proporcionar una ruta de acceso del archivo del ensamblado para el parámetro pwzBinary.
Nota Los archivos de configuración de activación no se usan si se llama al método ICLRMetaHostPolicy::GetRequestedRuntime y no se usa el parámetro pwzBinary ni la marca METAHOST_POLICY_USE_PROCESS_IMAGE_PATH.
Vea también
Conceptos
Implementar .NET Framework y aplicaciones