Arquivos de configuração de ativação
Um aplicativo que fornece um modelo de extensibilidade gerenciada pode exigir extensões a serem executadas com uma versão específica do.NET Framework runtime, especificando que a versão em um arquivo de configuração do aplicativo ou um arquivo de configuração do host. Antes de .NET Framework versão 4, a única maneira de escrever extensões com uma versão posterior do runtime era fornecer um arquivo de configuração diferente para o aplicativo. Infelizmente, isso tinha a conseqüência indesejada de forçar todas as extensões para usar o tempo de execução mais recente.
Arquivos de configuração de ativação fornecem uma solução alternativa para o cenário específico no qual o autor da extensão usa o modelo de extensibilidade do aplicativo como uma plataforma e totalmente controla todas as extensões que são carregadas. Nesse cenário, é razoável permitir que o autor de extensão decidir qual versão do tempo de execução é carregado e ativado.
Por exemplo, talvez você queira usar o .NET Framework 4 para criar um conjunto de snap-ins do Console de gerenciamento Microsoft (MMC) para personalizar a interface do usuário em computadores onde o MMC Especifica a ativação de um console de gerenciamento de .NET Framework versão 2.0 runtime. Você não pode substituir as informações de ativação para o MMC diretamente, mas você pode usar uma variável de ambiente para especificar o local de um arquivo de configuração de ativação que substitui-lo para um determinado console, para que o .NET Framework 4 runtime é ativado quando o console é iniciado.
Fornecendo um arquivo de configuração de ativação
Nomes de arquivo de configuração de ativação seguem o mesmo padrão de nomes de arquivo de configuração do aplicativo, mas usam o .activation_config de extensão. Por exemplo, um aplicativo denominado MyApp. exe tem um arquivo de configuração do aplicativo chamado MyApp.exe.config e um arquivo de configuração de ativação chamado MyApp.exe.activation_config.
Arquivos de configuração de ativação podem conter quaisquer elementos do arquivo de configuração, mas os únicos elementos que são analisados são aqueles que são normalmente usados para ativação:
Elementos de <startup> seção.
O <gcServer>, <appdomainResourceMonitoring>, e <etwEnable> elementos de <runtime> seção.
Observação
Certifique-se de que esses três <runtime> configurações no arquivo de configuração de ativação são as mesmas que as configurações correspondentes no aplicativo ou arquivo de configuração do host.
O arquivo de configuração de ativação é usado somente pelo código de correção que inicia o tempo de execução. O runtime em si tem nenhuma interação com o arquivo.
Depois de ter criado o arquivo de configuração do aplicativo, defina a COMPLUS_ApplicationMigrationRuntimeActivationConfigPath a variável de ambiente para o caminho onde o arquivo está localizado. Durante o processo de selecionar o tempo de execução para ser ativado, esse caminho é procurado em um arquivo de configuração do aplicativo cujo nome corresponde ao padrão.
Se a variável de ambiente é definida, mas o caminho especificado não contém nenhum arquivo de configuração de ativação que corresponde ao padrão, a ativação de tempo de execução é controlada por aplicativo ou no arquivo de configuração do host, como de costume.
A variável de ambiente pode ser definida globalmente ou por um processo de iniciador que configura o ambiente. Definir variáveis de ambiente global está sujeita às condições de corrida com outros aplicativos.
Por exemplo, a sessão de linha de comando a seguir copia um arquivo de configuração de ativação para uma pasta, define a variável de ambiente para esse caminho e executa o aplicativo:
copy c:\MyConfigs\MyApp.exe.activation_config c:\CustomConfigs
set COMPLUS_ApplicationMigrationRuntimeActivationConfigPath =
c:\CustomConfigs
c:\Program Files\MyApp\MyApp.exe
O seguinte arquivo de configuração de ativação Especifica a ativação da .NET Framework 4 o tempo de execução e duplica um hipotético <appDomainResourceMonitoring> a configuração do arquivo de configuração do aplicativo hipotético:
<configuration>
<startup>
<supportedRuntime version="v4.0.xxxx"/>
</startup>
<runtime>
<appDomainResourceMonitoring enabled="true"/>
</runtime>
</configuration>
Métodos de ativação com suporte
Arquivos de configuração de ativação afetam os seguintes métodos de ativação. O termo "herdado" refere-se às versões do.NET Framework antes de .NET Framework 4.
Executando qualquer arquivo exe gerenciado em um computador onde o .NET Framework 4 está instalado.
Usando a API de hospedagem herdada; Por exemplo, o CorBindToRuntimeHost função global.
Carregando e executando componentes legados de modo misto, criados com Visual C++.
Carregando e executando os componentes do COM legados.
Observação
Arquivos de configuração de ativação não são usados quando você carregar e executar os componentes COM que foram criados usando o .NET Framework 4 ou posterior.
Usando o ICLRMetaHostPolicy::GetRequestedRuntime método na API de hospedagem com o METAHOST_POLICY_USE_PROCESS_IMAGE_PATH sinalizador.
Usando o ICLRMetaHostPolicy::GetRequestedRuntime método e fornecendo um caminho de arquivo do assembly para o pwzBinary parâmetro.
Observação
Arquivos de configuração de ativação não serão usados se o ICLRMetaHostPolicy::GetRequestedRuntime método é chamado e nem o pwzBinary parâmetro nem a METAHOST_POLICY_USE_PROCESS_IMAGE_PATH sinalizador é usado.
Consulte também
Conceitos
Implantando o.NET Framework e aplicativos