Compartilhar via


Configurando o redirecionamento de associações de assemblies

Observação

Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

Por padrão, os aplicativos usam o conjunto de assemblies do .NET Framework fornecidos com a versão de runtime usada para compilar o aplicativo. Você pode usar o atributo appliesTo no elemento <assemblyBinding> em um arquivo de configuração de aplicativo para redirecionar referências de vínculo de assembly para uma versão específica dos conjuntos do .NET Framework. Esse atributo opcional usa um número de versão do .NET Framework para indicar a qual versão ele se aplica. Se nenhum appliesTo atributo for especificado, o <assemblyBinding> elemento se aplicará a todas as versões do .NET Framework.

O appliesTo atributo foi introduzido no .NET Framework versão 1.1; ele é ignorado pelo .NET Framework versão 1.0. Isso significa que todos os <assemblyBinding> elementos são aplicados ao usar o .NET Framework versão 1.0, mesmo se um appliesTo atributo for especificado.

Observação

Use o atributo para limitar o appliesTo redirecionamento de associação de assembly a uma versão específica do runtime.

Por exemplo, para redirecionar a associação de assembly para um assembly do .NET Framework versão 1.0, inclua código XML a seguir no seu arquivo de configuração de aplicativo.

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
            <dependentAssembly>
               * assembly information goes here *
            </dependentAssembly>
       </assemblyBinding>
</runtime>

Os <assemblyBinding> elementos são sensíveis à ordem. Insira as informações de redirecionamento de associação de assembly primeiramente para os assemblies do .NET Framework versão 1.0, seguido pelas informações de redirecionamento de associação de assembly para os assemblies do .NET Framework versão 1.1. Por fim, insira as informações de redirecionamento de associações de assembly para qualquer redirecionamento de assembly do .NET Framework que não use o atributo appliesTo e, portanto, se aplique a todas as versões do .NET Framework. No caso de um conflito no redirecionamento, a primeira instrução de redirecionamento correspondente no arquivo de configuração é usada.

Por exemplo, para redirecionar uma referência a um assembly do .NET Framework versão 1.0 e outra referência a um assembly do .NET Framework versão 1.1, você usaria o padrão mostrado no pseudocódigo a seguir.

<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
  <!-- .NET Framework version 1.0 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="..." appliesTo="v1.1.4322">
  <!-- .NET Framework version 1.1 redirects here. -->
</assemblyBinding>

<assemblyBinding xmlns="...">
  <!-- Redirects meant for all versions of the .NET Framework. -->
</assemblyBinding>

Depurando erros de arquivos de configuração

O runtime analisa arquivos de configuração uma vez quando um domínio de aplicativo é criado e carrega o código nesse domínio de aplicativo. O common language runtime manipula erros em um arquivo de configuração ignorando a entrada. O runtime ignorará todo o arquivo de configuração se ele contiver XML malformado. Para XML inválido, somente as seções inválidas são ignoradas.

É possível identificar se um arquivo de configuração está sendo usado determinando se os redirecionamentos de associação de assembly estão ocorrendo. Use o Visualizador de Log de Associação de Assembly (Fuslogvw.exe) para ver quais assemblies são carregados. Para ver todas as associações de assembly, você deve definir uma entrada para ForceLog no registro.

Consulte também