Compartilhar via


Como habilitar e desabilitar o redirecionamento automático de associação

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.

Quando você compila aplicativos da área de trabalho no Visual Studio destinados ao .NET Framework 4.5.1 e versões posteriores, os redirecionamentos de associação podem ser adicionados automaticamente ao arquivo de configuração do aplicativo para substituir a unificação do assembly. Os redirecionamentos de associação serão adicionados se o aplicativo ou seus componentes fizerem referência a mais de uma versão do mesmo assembly, mesmo que você especifique manualmente redirecionamentos de associação no arquivo de configuração para seu aplicativo. O recurso de redirecionamento automático de associação afeta aplicativos da área de trabalho que visam o .NET Framework 4.5.1 ou uma versão posterior. Se você não tiver habilitado ou desabilitado explicitamente o redirecionamento de associação gerado automaticamente e atualizar um projeto existente, o recurso será habilitado automaticamente.

Para aplicativos Web, quando o Visual Studio encontra um conflito de associação, ele solicita que você adicione um redirecionamento de associação para resolver o conflito.

Você pode habilitar o redirecionamento automático de associação para aplicativos existentes destinados a versões anteriores do .NET Framework (4.5 e anteriores). Você pode desabilitar esse recurso se quiser criar redirecionamentos de associação manualmente.

Importante

A partir do Visual Studio 2022, o Visual Studio não inclui mais componentes do .NET Framework para .NET Framework 4.0 – 4.5.1 porque essas versões não têm mais suporte. O Visual Studio 2022 e versões posteriores não podem criar aplicativos direcionados ao .NET Framework 4.0 até o .NET Framework 4.5.1. Para continuar criando esses aplicativos, você pode usar o Visual Studio 2019 ou uma versão anterior.

Desativar redirecionamentos automáticos de vinculação em aplicativos de desktop

Os redirecionamentos de associação automática são habilitados por padrão para aplicativos da área de trabalho do Windows que visam o .NET Framework 4.5.1 e versões posteriores. Os redirecionamentos de associação são adicionados ao arquivo de configuração de saída (app.config) quando o aplicativo é compilado. Os redirecionamentos substituem a unificação do assembly que poderia ocorrer de outra forma. O arquivo de origem app.config não é modificado. Você pode desabilitar esse recurso modificando o arquivo de projeto do aplicativo ou desmarcando uma caixa de seleção nas propriedades do projeto no Visual Studio.

Desativar por meio de propriedades do projeto

Se você tiver o Visual Studio 2017 versão 15.7 ou posterior, poderá desabilitar redirecionamentos de associação gerados automaticamente nas páginas de propriedades do projeto.

  1. Clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Propriedades.

  2. Na página Aplicativo, desmarque a opção Geração Automática de Redirecionamentos de Associação.

    Se você não vir a opção, precisará desabilitar manualmente o recurso no arquivo de projeto.

  3. Pressione Ctrl+S para salvar a alteração.

Desabilitar manualmente no arquivo de projeto

  1. Abra o arquivo de projeto para edição usando um dos seguintes métodos:

    • No Visual Studio, selecione o projeto no Gerenciador de Soluções e escolha Abrir Pasta no Explorador de Arquivos no menu de atalho. No Explorador de Arquivos, localize o arquivo do projeto (.csproj ou .vbproj) e abra-o no Bloco de Notas.
    • No Visual Studio, no Gerenciador de Soluções, clique com o botão direito do mouse no projeto e escolha Descarregar Projeto. Clique com o botão direito do mouse no projeto descarregado novamente e escolha Editar [projectname.csproj].
  2. No arquivo de projeto, localize a seguinte entrada de propriedade:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Altere true para false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Habilitar redirecionamentos de vinculação automática manualmente

Você pode habilitar redirecionamentos de associação automática em aplicativos existentes destinados a versões mais antigas do .NET Framework ou em casos em que você não é solicitado automaticamente a adicionar um redirecionamento. Se você estiver direcionando uma versão mais recente do .NET Framework, mas não for solicitado automaticamente a adicionar um redirecionamento, provavelmente obterá uma saída de build que sugira que você remapee assemblies.

  1. Abra o arquivo de projeto para edição usando um dos seguintes métodos:

    • No Visual Studio, selecione o projeto no Gerenciador de Soluções e escolha Abrir Pasta no Explorador de Arquivos no menu de atalho. No Explorador de Arquivos, localize o arquivo do projeto (.csproj ou .vbproj) e abra-o no Bloco de Notas.
    • No Visual Studio, no Gerenciador de Soluções, clique com o botão direito do mouse no projeto e escolha Descarregar Projeto. Clique com o botão direito do mouse no projeto descarregado novamente e escolha Editar [projectname.csproj].
  2. Adicione o seguinte elemento ao primeiro grupo de propriedades de configuração (sob a <PropertyGroup> marca):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    O seguinte mostra um arquivo de projeto de exemplo com o elemento inserido:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
      <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
        <ProjectGuid>{123334}</ProjectGuid>
        ...
        <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
      </PropertyGroup>
      ...
    </Project>
    
  3. Compile seu aplicativo.

Habilitar redirecionamentos de associação automática em aplicativos Web

Os redirecionamentos automáticos de associação são implementados de forma diferente para aplicativos Web. Como o arquivo de configuração de origem (web.config) deve ser modificado para aplicativos Web, os redirecionamentos de associação não são adicionados automaticamente ao arquivo de configuração. No entanto, o Visual Studio notifica você sobre conflitos de associação e você pode adicionar redirecionamentos de associação para resolver os conflitos. Como você sempre é solicitado a adicionar redirecionamentos de associação, você não precisa desabilitar explicitamente esse recurso para um aplicativo Web.

Para adicionar redirecionamentos de associação a um arquivo web.config:

  1. No Visual Studio, compile o aplicativo e verifique se há avisos de build.

    Aviso de build para conflitos de referência de assembly.

  2. Se houver conflitos de vinculação de assembly, um aviso será exibido. Clique duas vezes no aviso ou selecione o aviso e pressione Enter.

    Uma caixa de diálogo que permite adicionar automaticamente os redirecionamentos de associação necessários ao arquivo deweb.config de origem é exibida.

    Caixa de diálogo de permissão de redirecionamento de vinculação.

Consulte também