Partilhar via


Configurando um aplicativo COM a execução de lado a lado

Um arquivo de configuração de aplicativo permite que um aplicativo do COM vincular a um componente gerenciado específico e especificar qual versão do tempo de execução executa o componente. Os desenvolvedores de aplicativos do COM podem criar um.NET Framework application configuration file e implantá-lo com seus aplicativos.

Comportamento de carregamento padrão

Se um aplicativo não gerenciado não tiver um arquivo de configuração do aplicativo, a versão do runtime que é usado para carregar o componente é determinada da seguinte maneira:

  • Se o componente foi criado com o .NET Framework versão 4 ou posterior, ele é carregado com o tempo de execução que foi usado para criar o proprietário.

  • Se o componente foi criado com uma versão anterior do.NET Framework, ele é carregado com a versão mais recente do tempo de execução que é instalado no computador e que é menor do que a versão 4. Por exemplo, se um componente foi criado com o .NET Framework versão 1.1e três versões do.NET Framework (o .NET Framework 1.1, o .NET Framework 3.5 SP1e o .NET Framework 4) são instalados no computador, o componente é carregado com o .NET Framework 3.5 SP1. Esse foi o comportamento padrão antes de .NET Framework 4.

Este comportamento de carregamento afeta componentes que são carregados lado a lado no mesmo processo. O tempo de execução para o .NET Framework 4 pode executar em processo com um tempo de execução de uma versão anterior do.NET Framework. Consulte Execução de lado a lado no processo.

Especificando a versão de tempo de execução

Se o comportamento de carregamento de padrão não satisfaz os requisitos do seu aplicativo COM, você pode usar o <supportedRuntime> elemento em um arquivo de configuração do aplicativo para especificar a versão de runtime que seu aplicativo requer. Por exemplo, você pode especificar a versão do runtime 1.1.4322, que carrega o.NET Framework versão 1.1. Para obter instruções, consulte direcionamento um.NET Framework versão.

Observação

Os aplicativos COM hospedado por um host extensível, como, por exemplo, Microsoft Internet Explorer ou Microsoft Office não podem controlar qual versão do tempo de execução é carregada.

Se você tiver os componentes que foram criados com ambos os .NET Framework 4 e uma versão anterior do.NET Framework, você deve listar as duas versões como tempos de execução suportados, porque não usa o padrão de comportamento de carregamento de .NET Framework 4 para carregar o componente anterior. Para forçar o componente anterior para carregar com o .NET Framework 4, defina a useLegacyV2RuntimeActivationPolicy atributo para true na <startup> elemento do seu arquivo de configuração. Isso reverterá para o padrão de comportamento antes de carregar o .NET Framework 4, que é usar mais recentes suportados.NET Framework versão.

Especificando uma versão do Assembly

Sem um arquivo de configuração do aplicativo, o runtime carrega a versão mais recente do assembly registrado no registro do Windows que contém o tipo a ser ativada a partir de COM. Você pode usar o <bindingRedirect> elemento em um arquivo de configuração do aplicativo para direcionar o seu aplicativo para vincular a uma versão anterior do assembly. Para obter instruções, consulte Redirecionando versões de montagem.

Você pode redirecionar a mais de uma versão do assembly, incluindo vários <bindingRedirect> elementos dentro de um <dependentAssembly> elemento.

Consulte também

Referência

<startup> Elemento

<supportedRuntime> Elemento

<bindingRedirect> Elemento

Conceitos

Inicialização de tempo de execução a partir de um aplicativo COM

Chaves de registro dependente da versão

Aplicando atributos de dependente da versão

Componentes COM e execução de lado a lado

Redirecionando as versões do Assembly

Outros recursos

Execução lado a lado para interoperabilidade COM