Delen via


Procedure: Automatische bindingsomleiding in- en uitschakelen

Notitie

Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.

Wanneer u bureaublad-apps compileert in Visual Studio die gericht zijn op .NET Framework 4.5.1 en latere versies, worden bindingsomleidingen mogelijk automatisch toegevoegd aan het app-configuratiebestand om assembly-eenwording te overschrijven. Bindingsomleidingen worden toegevoegd als uw app of de bijbehorende onderdelen verwijzen naar meer dan één versie van dezelfde assembly, zelfs als u handmatig bindingsomleidingen opgeeft in het configuratiebestand voor uw app. De functie voor het automatisch omleiden van bindingen is van invloed op bureaublad-apps die zijn gericht op .NET Framework 4.5.1 of een latere versie. Als u automatisch gegenereerde bindingsomleiding niet expliciet hebt ingeschakeld of uitgeschakeld en u een bestaand project bijwerkt, wordt de functie automatisch ingeschakeld.

Wanneer Visual Studio een bindingsconflict ondervindt, wordt u gevraagd om een bindingsomleiding toe te voegen om het conflict op te lossen voor web-apps.

U kunt automatische bindingomleiding inschakelen voor bestaande apps die gericht zijn op eerdere versies van .NET Framework (4.5 en eerder). U kunt deze functie uitschakelen als u handmatig bindingsomleidingen wilt maken.

Belangrijk

Vanaf Visual Studio 2022 bevat Visual Studio geen .NET Framework-onderdelen meer voor .NET Framework 4.0 - 4.5.1 omdat deze versies niet meer worden ondersteund. Visual Studio 2022 en latere versies kunnen geen apps bouwen die gericht zijn op .NET Framework 4.0 tot en met .NET Framework 4.5.1. Als u deze apps wilt blijven bouwen, kunt u Visual Studio 2019 of een eerdere versie gebruiken.

Automatische bindingsomleidingen uitschakelen in bureaublad-apps

Automatische bindingsomleidingen zijn standaard ingeschakeld voor Windows-bureaublad-apps die gericht zijn op .NET Framework 4.5.1 en nieuwere versies. De bindingsomleidingen worden toegevoegd aan het uitvoerconfiguratiebestand (app.config) wanneer de app wordt gecompileerd. De omleidingen overschrijven de assembly-eenwording die anders zou kunnen plaatsvinden. Het bronbestand app.config is niet gewijzigd. U kunt deze functie uitschakelen door het projectbestand voor de app te wijzigen of door een selectievakje in de eigenschappen van het project in Visual Studio op te heffen.

Uitschakelen via projecteigenschappen

Als u Visual Studio 2017 versie 15.7 of hoger hebt, kunt u automatisch gegenereerde bindingsomleidingen uitschakelen op de eigenschappenpagina's van het project.

  1. Klik met de rechtermuisknop op het project in Solution Explorer en selecteer Eigenschappen.

  2. Schakel op de toepassingspagina de optie Bindingsomleidingen automatisch genereren uit.

    Als u de optie niet ziet, moet u de functie handmatig uitschakelen in het projectbestand.

  3. Druk op Ctrl+S om de wijziging op te slaan.

Handmatig uitschakelen in het projectbestand

  1. Open het projectbestand voor bewerken met een van de volgende methoden:

    • Selecteer in Visual Studio het project in Solution Explorer en kies Map openen in Bestandenverkenner in het snelmenu. Zoek in Bestandenverkenner het projectbestand (.csproj of .vbproj) en open het in Kladblok.
    • Klik in Visual Studio in Solution Explorer met de rechtermuisknop op het project en kies Project verwijderen. Klik opnieuw met de rechtermuisknop op het niet-geladen project en kies Vervolgens Bewerken [projectnaam.csproj].
  2. Zoek in het projectbestand de volgende eigenschapsvermelding:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Wijzigen true in false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Automatische bindingsomleidingen handmatig inschakelen

U kunt automatische bindingsomleidingen inschakelen in bestaande apps die gericht zijn op oudere versies van .NET Framework, of in gevallen waarin u niet automatisch wordt gevraagd om een omleiding toe te voegen. Als u zich richt op een nieuwere versie van .NET Framework, maar niet automatisch wordt gevraagd om een omleiding toe te voegen, krijgt u waarschijnlijk build-uitvoer die suggereert dat u assembly's opnieuw toewijst.

  1. Open het projectbestand voor bewerken met een van de volgende methoden:

    • Selecteer in Visual Studio het project in Solution Explorer en kies Map openen in Bestandenverkenner in het snelmenu. Zoek in Bestandenverkenner het projectbestand (.csproj of .vbproj) en open het in Kladblok.
    • Klik in Visual Studio in Solution Explorer met de rechtermuisknop op het project en kies Project verwijderen. Klik opnieuw met de rechtermuisknop op het niet-geladen project en kies Vervolgens Bewerken [projectnaam.csproj].
  2. Voeg het volgende element toe aan de eerste configuratie-eigenschapsgroep (onder de <tag PropertyGroup> ):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Hieronder ziet u een voorbeeldprojectbestand waarin het element is ingevoegd:

    <?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. Compileer uw app.

Automatische bindingsomleidingen inschakelen in web-apps

Automatische bindingsomleidingen worden anders geïmplementeerd voor web-apps. Omdat het bronconfiguratiebestand (web.config) moet worden gewijzigd voor web-apps, worden bindingsomleidingen niet automatisch toegevoegd aan het configuratiebestand. Visual Studio meldt u echter op de hoogte van bindingsconflicten en u kunt bindingsomleidingen toevoegen om de conflicten op te lossen. Omdat u altijd wordt gevraagd bindingsomleidingen toe te voegen, hoeft u deze functie niet expliciet uit te schakelen voor een web-app.

Bindingsomleidingen toevoegen aan een web.config-bestand :

  1. Compileer de app in Visual Studio en controleer op buildwaarschuwingen.

    Buildwaarschuwing voor assemblyverwijzingsconflicten.

  2. Als er assemblybindingsconflicten zijn, wordt er een waarschuwing weergegeven. Dubbelklik op de waarschuwing of selecteer de waarschuwing en druk op Enter.

    Er wordt een dialoogvenster weergegeven waarmee u automatisch de benodigde bindingsomleidingen kunt toevoegen aan het bronbestand web.config .

    Dialoogvenster Omleidingsmachtiging voor binding.

Zie ook