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.

Consulte também

Conceitos

Implantando o.NET Framework e aplicativos

Outros recursos

Hospedagem (referência de API não gerenciada)