Procedimiento para habilitar y deshabilitar redireccionamiento de enlaces automáticoHow to: Enable and Disable Automatic Binding Redirection

Al compilar aplicaciones en Visual Studio que tienen como destino la .NET Framework 4.5.1 y versiones posteriores, se pueden agregar automáticamente redirecciones de enlace al archivo de configuración de la aplicación para invalidar la unificación de ensamblados.When you compile apps in Visual Studio that target the .NET Framework 4.5.1 and later versions, binding redirects may be automatically added to the app configuration file to override assembly unification. Las redirecciones de enlace se agregan si la aplicación o sus componentes hacen referencia a más de una versión del mismo ensamblado, incluso si se especifican manualmente las redirecciones de enlace en el archivo de configuración de la aplicación.Binding redirects are added if your app or its components reference more than one version of the same assembly, even if you manually specify binding redirects in the configuration file for your app. La característica de redirección de enlace automática afecta a las aplicaciones de escritorio y a las aplicaciones web que tienen como destino la .NET Framework 4.5.1 o una versión posterior, aunque el comportamiento es ligeramente diferente para una aplicación Web.The automatic binding redirection feature affects desktop apps and web apps that target the .NET Framework 4.5.1 or a later version, although the behavior is slightly different for a web app. Puede habilitar la redirección de enlace automática si tiene aplicaciones existentes destinadas a versiones anteriores de la .NET Framework, o puede deshabilitar esta característica si desea crear manualmente redirecciones de enlace.You can enable automatic binding redirection if you have existing apps that target previous versions of the .NET Framework, or you can disable this feature if you want to manually author binding redirects.

Deshabilitar las redirecciones de enlace automáticas en aplicaciones de escritorioDisable automatic binding redirects in desktop apps

Las redirecciones de enlace automáticas están habilitadas de forma predeterminada para las aplicaciones de escritorio de Windows destinadas a .NET Framework 4.5.1 y versiones posteriores.Automatic binding redirects are enabled by default for Windows desktop apps that target the .NET Framework 4.5.1 and later versions. Las redirecciones de enlace se agregan al archivo de configuración de salida (app. config) al compilar la aplicación e invalidar la unificación de ensamblados que, de lo contrario, podría tener lugar.The binding redirects are added to the output configuration (app.config) file when the app is compiled and override the assembly unification that might otherwise take place. El archivo app. config de origen no se modifica.The source app.config file is not modified. Puede deshabilitar esta característica modificando el archivo de proyecto de la aplicación o anulando la selección de una casilla en las propiedades del proyecto en Visual Studio.You can disable this feature by modifying the project file for the app or by deselecting a checkbox in the project's properties in Visual Studio.

Deshabilitar a través de las propiedades del proyectoDisable through project properties

Si tiene Visual Studio 2017 versión 15,7 o posterior, puede deshabilitar fácilmente las redirecciones de enlace generadas automáticamente en las páginas de propiedades del proyecto.If you have Visual Studio 2017 version 15.7 or later, you can easily disable autogenerated binding redirects in the project's property pages.

  1. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Propiedades.Right-click the project in Solution Explorer and select Properties.

  2. En la página de la aplicación , desactive la opción generar automáticamente redirecciones de enlace .On the Application page, uncheck the Auto-generate binding redirects option.

  3. Presione Ctrl+S para guardar el cambio.Press Ctrl+S to save the change.

Deshabilitar manualmente en el archivo de proyectoDisable manually in the project file

  1. Abra el archivo de proyecto para editarlo con uno de los métodos siguientes:Open the project file for editing using one of the following methods:

    • En Visual Studio, seleccione el proyecto en Explorador de solucionesy, a continuación, elija Abrir carpeta en el explorador de archivos en el menú contextual.In Visual Studio, select the project in Solution Explorer, and then choose Open Folder in File Explorer from the shortcut menu. En el explorador de archivos, busque el archivo de proyecto (. csproj o. vbproj) y ábralo en el Bloc de notas.In File Explorer, find the project (.csproj or .vbproj) file and open it in Notepad.
    • En Visual Studio, en Explorador de soluciones, haga clic con el botón derecho en el proyecto y elija descargar el proyecto.In Visual Studio, in Solution Explorer, right-click the project and choose Unload Project. Vuelva a hacer clic con el botón derecho en el proyecto descargado y, a continuación, elija Editar [nombreDeProyecto. csproj] .Right-click the unloaded project again, and then choose Edit [projectname.csproj].
  2. En el archivo de proyecto, busque la siguiente entrada de propiedad:In the project file, find the following property entry:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Cambie true a false:Change true to false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Habilitar las redirecciones de enlace automáticas manualmenteEnable automatic binding redirects manually

Puede habilitar las redirecciones de enlace automáticas en las aplicaciones existentes destinadas a versiones anteriores de la .NET Framework o en los casos en los que no se le pide automáticamente que agregue una redirección.You can enable automatic binding redirects in existing apps that target older versions of the .NET Framework, or in cases where you're not automatically prompted to add a redirect. Si va a tener como destino una versión más reciente del marco pero no se le pide automáticamente que agregue una redirección, es probable que obtenga una salida de la compilación que sugiere que se reasignen los ensamblados.If you're targeting a newer version of the framework but do not get automatically prompted to add a redirect, you'll likely get build output that suggests you remap assemblies.

  1. Abra el archivo de proyecto para editarlo con uno de los métodos siguientes:Open the project file for editing using one of the following methods:

    • En Visual Studio, seleccione el proyecto en Explorador de solucionesy, a continuación, elija Abrir carpeta en el explorador de archivos en el menú contextual.In Visual Studio, select the project in Solution Explorer, and then choose Open Folder in File Explorer from the shortcut menu. En el explorador de archivos, busque el archivo de proyecto (. csproj o. vbproj) y ábralo en el Bloc de notas.In File Explorer, find the project (.csproj or .vbproj) file and open it in Notepad.
    • En Visual Studio, en Explorador de soluciones, haga clic con el botón derecho en el proyecto y elija descargar el proyecto.In Visual Studio, in Solution Explorer, right-click the project and choose Unload Project. Vuelva a hacer clic con el botón derecho en el proyecto descargado y, a continuación, elija Editar [nombreDeProyecto. csproj] .Right-click the unloaded project again, and then choose Edit [projectname.csproj].
  2. Agregue el siguiente elemento al primer grupo de propiedades de configuración (bajo <la etiqueta de > propertyGroup):Add the following element to the first configuration property group (under the <PropertyGroup> tag):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    A continuación se muestra un ejemplo de archivo de proyecto con el elemento insertado:The following shows an example project file with the element inserted:

    <?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 la aplicación.Compile your app.

Habilitación de las redirecciones de enlace automáticas en Web AppsEnable automatic binding redirects in web apps

Las redirecciones de enlace automáticas se implementan de forma diferente para las aplicaciones web.Automatic binding redirects are implemented differently for web apps. Dado que el archivo de configuración de origen (Web. config) debe modificarse para las aplicaciones Web, las redirecciones de enlace no se agregan automáticamente al archivo de configuración.Because the source configuration (web.config) file must be modified for web apps, binding redirects are not automatically added to the configuration file. Sin embargo, Visual Studio le notifica los conflictos de enlace, por lo que podrá agregar redirecciones de enlace para resolverlos.However, Visual Studio notifies you of binding conflicts, and you can add binding redirects to resolve the conflicts. Dado que siempre se le pide que agregue redirecciones de enlace, no necesita deshabilitar explícitamente esta característica para una aplicación Web.Because you're always prompted to add binding redirects, you don't need to explicitly disable this feature for a web app.

Para agregar redirecciones de enlace a un archivo Web. config :To add binding redirects to a web.config file:

  1. En Visual Studio, compile la aplicación y compruebe si hay advertencias de compilación.In Visual Studio, compile the app, and check for build warnings.

    Advertencia de compilación para conflictos de referencia de ensambladoBuild warning for assembly reference conflicts

  2. Si hay conflictos de enlace de ensamblados, se mostrará una advertencia.If there are assembly binding conflicts, a warning appears. Haga doble clic en la advertencia o seleccione la advertencia y presione entrar.Double-click the warning, or select the warning and press Enter.

    Aparece un cuadro de diálogo que le permite agregar automáticamente las redirecciones de enlace necesarias al archivo Web. config de origen.A dialog box that enables you to automatically add the necessary binding redirects to the source web.config file appears.

    Cuadro de diálogo permiso de redireccionamiento de enlaceBinding redirect permission dialog

Vea tambiénSee also