Postupy: Povolení a zakázání automatického přesměrování vazby

Když kompilujete desktopové aplikace v sadě Visual Studio, které cílí na rozhraní .NET Framework 4.5.1 a novější verze, můžou se do konfiguračního souboru aplikace automaticky přidat přesměrování vazeb, které přepíší sjednocení sestavení. Přesměrování vazby je přidáno, pokud vaše aplikace nebo její komponenty odkazují na více verzí stejného sestavení, i když ručně zadáte přesměrování vazby v konfiguračním souboru pro vaši aplikaci. Funkce automatického přesměrování vazby ovlivňuje desktopové aplikace, které cílí na rozhraní .NET Framework 4.5.1 nebo novější verzi. Pokud jste explicitně nepovolili nebo zakázali automatické přesměrování vazby a upgradujete existující projekt, funkce se automaticky povolí.

Když visual Studio u webových aplikací narazí na konflikt vazby, vyzve vás k přidání přesměrování vazby k vyřešení konfliktu.

Automatické přesměrování vazby můžete povolit pro stávající aplikace, které cílí na předchozí verze rozhraní .NET Framework (4.5 a starší). Tuto funkci můžete zakázat , pokud chcete ručně vytvořit přesměrování vazby.

Důležité

Počínaje sadou Visual Studio 2022 už Visual Studio neobsahuje komponenty rozhraní .NET Framework pro rozhraní .NET Framework 4.0 – 4.5.1, protože tyto verze už nejsou podporované. Visual Studio 2022 a novější verze nemůžou vytvářet aplikace, které cílí na rozhraní .NET Framework 4.0 až .NET Framework 4.5.1. Pokud chcete tyto aplikace dál vytvářet, můžete použít Visual Studio 2019 nebo starší verzi.

Zákaz automatických přesměrování vazeb v desktopových aplikacích

Automatické přesměrování vazby jsou ve výchozím nastavení povolené pro desktopové aplikace pro Windows, které cílí na rozhraní .NET Framework 4.5.1 a novější verze. Při kompilaci aplikace se do souboru výstupní konfigurace (app.config) přidají přesměrování vazby. Přesměrování přepíší sjednocení sestavení, které by jinak mohlo proběhnout. Zdrojový soubor app.config se nezmění. Tuto funkci můžete zakázat úpravou souboru projektu pro aplikaci nebo zrušením zaškrtnutí políčka ve vlastnostech projektu v sadě Visual Studio.

Zakázat prostřednictvím vlastností projektu

Pokud máte Visual Studio 2017 verze 15.7 nebo novější, můžete zakázat automaticky vygenerované vazby přesměrování na stránkách vlastností projektu.

  1. Klikněte pravým tlačítkem myši na projekt v Průzkumník řešení a vyberte Vlastnosti.

  2. Na stránce Aplikace zrušte zaškrtnutí políčka Automaticky generovat vazby přesměrování.

    Pokud možnost nevidíte, budete muset tuto funkci v souboru projektu zakázat ručně.

  3. Stisknutím kláves Ctrl+S uložte změnu.

Ruční zakázání v souboru projektu

  1. Otevřete soubor projektu pro úpravy pomocí jedné z následujících metod:

    • V sadě Visual Studio vyberte projekt v Průzkumník řešení a v místní nabídce zvolte Otevřít složku v Průzkumník souborů. V Průzkumník souborů najděte soubor projektu (.csproj nebo .vbproj) a otevřete ho v Poznámkový blok.
    • V sadě Visual Studio v Průzkumník řešení klikněte pravým tlačítkem myši na projekt a zvolte Uvolnit projekt. Znovu klikněte pravým tlačítkem myši na uvolněný projekt a pak zvolte Upravit [název_projektu.csproj].
  2. V souboru projektu vyhledejte položku následující vlastnosti:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Změnit true na false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Ruční povolení automatických přesměrování vazby

Automatické přesměrování vazeb můžete povolit v existujících aplikacích, které cílí na starší verze rozhraní .NET Framework, nebo v případech, kdy se automaticky nezobrazí výzva k přidání přesměrování. Pokud cílíte na novější verzi rozhraní .NET Framework, ale nezobrazí se automaticky výzva k přidání přesměrování, pravděpodobně získáte výstup sestavení, který navrhne přemapování sestavení.

  1. Otevřete soubor projektu pro úpravy pomocí jedné z následujících metod:

    • V sadě Visual Studio vyberte projekt v Průzkumník řešení a v místní nabídce zvolte Otevřít složku v Průzkumník souborů. V Průzkumník souborů najděte soubor projektu (.csproj nebo .vbproj) a otevřete ho v Poznámkový blok.
    • V sadě Visual Studio v Průzkumník řešení klikněte pravým tlačítkem myši na projekt a zvolte Uvolnit projekt. Znovu klikněte pravým tlačítkem myši na uvolněný projekt a pak zvolte Upravit [název_projektu.csproj].
  2. Přidejte následující prvek do první skupiny vlastností konfigurace (pod značkou <PropertyGroup> ):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Následuje příklad souboru projektu s vloženým prvkem:

    <?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. Zkompilujte aplikaci.

Povolení automatických přesměrování vazeb ve webových aplikacích

Automatické přesměrování vazby je pro webové aplikace implementováno jinak. Vzhledem k tomu, že zdrojový konfigurační soubor (web.config) musí být změněn pro webové aplikace, přesměrování vazeb se do konfiguračního souboru nepřidá automaticky. Sada Visual Studio vás však upozorní na konflikty ve vazbách a můžete tak pomocí přesměrování vazby tyto konflikty vyřešit. Protože se vždy zobrazí výzva k přidání přesměrování vazby, nemusíte tuto funkci explicitně zakázat pro webovou aplikaci.

Přidání přesměrování vazby do souboru web.config :

  1. V sadě Visual Studio zkompilujte aplikaci a zkontrolujte upozornění na sestavení.

    Build warning for assembly reference conflicts.

  2. Pokud existují konflikty vazeb sestavení, zobrazí se upozornění. Poklikejte na upozornění nebo vyberte upozornění a stiskněte Enter.

    Zobrazí se dialogové okno, které umožňuje automaticky přidat potřebné vazby přesměrování do zdrojového souboru web.config .

    Binding redirect permission dialog.

Viz také