Dela via


Gör så här: Aktivera och inaktivera automatisk omdirigering av bindning

Kommentar

Den här artikeln är specifik för .NET Framework. Det gäller inte för nyare implementeringar av .NET, inklusive .NET 6 och senare versioner.

När du kompilerar skrivbordsappar i Visual Studio som riktar in sig på .NET Framework 4.5.1 och senare versioner, kan bindningsomdirigeringar automatiskt läggas till i appkonfigurationsfilen för att åsidosätta sammansättningssammanslagningen. Bindningsomdirigeringar läggs till om din app eller dess komponenter refererar till mer än en version av samma sammansättning, även om du manuellt anger bindningsomdirigeringar i konfigurationsfilen för din app. Funktionen för automatisk omdirigering av bindningar påverkar skrivbordsappar som är avsedda för .NET Framework 4.5.1 eller senare. Om du inte uttryckligen har aktiverat eller inaktiverat automatisk omdirigering av bindning och uppgraderar ett befintligt projekt aktiveras funktionen automatiskt.

När Visual Studio stöter på en bindningskonflikt för webbappar uppmanas du att lägga till en bindningsomdirigering för att lösa konflikten.

Du kan aktivera automatisk omdirigering av bindning för befintliga appar som riktar sig mot tidigare versioner av .NET Framework (4.5 och tidigare). Du kan inaktivera den här funktionen om du vill skapa bindningsomdirigeringar manuellt.

Viktigt!

Från och med Visual Studio 2022 innehåller Visual Studio inte längre .NET Framework-komponenter för .NET Framework 4.0– 4.5.1 eftersom dessa versioner inte längre stöds. Visual Studio 2022 och senare versioner kan inte skapa appar som är avsedda för .NET Framework 4.0 via .NET Framework 4.5.1. Om du vill fortsätta att skapa dessa appar kan du använda Visual Studio 2019 eller en tidigare version.

Inaktivera automatiska bindningsomdirigeringar i skrivbordsappar

Automatiska bindningsomdirigeringar aktiveras som standard för Windows-skrivbordsappar som riktar sig till .NET Framework 4.5.1 och senare versioner. Bindningsomdirigeringarna läggs till i utdatakonfigurationsfilen (app.config) när appen kompileras. Omdirigeringarna åsidosätter den sammansättningssammanslagning som annars skulle kunna äga rum. Källfilen app.config har inte ändrats. Du kan inaktivera den här funktionen genom att ändra projektfilen för appen eller genom att avmarkera en kryssruta i projektets egenskaper i Visual Studio.

Inaktivera via projektegenskaper

Om du har Visual Studio 2017 version 15.7 eller senare kan du inaktivera automatiskt genererade bindningsomdirigeringar på projektets egenskapssidor.

  1. Högerklicka på projektet i Istraživač rešenja och välj Egenskaper.

  2. På sidan Program avmarkerar du alternativet Generera bindningsomdirigering automatiskt.

    Om du inte ser alternativet måste du inaktivera funktionen i projektfilen manuellt.

  3. Spara ändringen genom att trycka på Ctrl+S.

Inaktivera manuellt i projektfilen

  1. Öppna projektfilen för redigering med någon av följande metoder:

    • I Visual Studio väljer du projektet i Istraživač rešenja och väljer sedan Öppna mapp i Istraživač datoteka på snabbmenyn. I Istraživač datoteka letar du upp projektfilen (.csproj eller .vbproj) och öppnar den i Anteckningar.
    • I Visual Studio i Istraživač rešenja högerklickar du på projektet och väljer Ta bort projekt. Högerklicka på det borttagna projektet igen och välj sedan Redigera [projectname.csproj].
  2. I projektfilen hittar du följande egenskapspost:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Ändra true till false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Aktivera automatiska bindningsomdirigeringar manuellt

Du kan aktivera automatiska bindningsomdirigeringar i befintliga appar som riktar sig mot äldre versioner av .NET Framework, eller i fall där du inte automatiskt uppmanas att lägga till en omdirigering. Om du riktar in dig på en nyare version av .NET Framework, men inte uppmanas att lägga till en omdirigering automatiskt, får du förmodligen kompileringsutdata som antyder att du mappar om sammansättningar.

  1. Öppna projektfilen för redigering med någon av följande metoder:

    • I Visual Studio väljer du projektet i Istraživač rešenja och väljer sedan Öppna mapp i Istraživač datoteka på snabbmenyn. I Istraživač datoteka letar du upp projektfilen (.csproj eller .vbproj) och öppnar den i Anteckningar.
    • I Visual Studio i Istraživač rešenja högerklickar du på projektet och väljer Ta bort projekt. Högerklicka på det borttagna projektet igen och välj sedan Redigera [projectname.csproj].
  2. Lägg till följande element i den första konfigurationsegenskapsgruppen (under taggen <PropertyGroup> ):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Följande visar en exempelprojektfil med elementet infogat:

    <?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. Kompilera din app.

Aktivera automatiska bindningsomdirigeringar i webbappar

Automatiska bindningsomdirigeringar implementeras på olika sätt för webbappar. Eftersom källkonfigurationsfilen (web.config) måste ändras för webbappar läggs inte bindningsomdirigeringar automatiskt till i konfigurationsfilen. Visual Studio meddelar dig dock om bindningskonflikter och du kan lägga till bindningsomdirigeringar för att lösa konflikterna. Eftersom du alltid uppmanas att lägga till bindningsomdirigeringar behöver du inte uttryckligen inaktivera den här funktionen för en webbapp.

Så här lägger du till bindningsomdirigeringar till en web.config-fil :

  1. Kompilera appen i Visual Studio och sök efter byggvarningar.

    Skapa varning för sammansättningsreferenskonflikter.

  2. Om det finns sammansättningsbindningskonflikter visas en varning. Dubbelklicka på varningen eller välj varningen och tryck på Retur.

    En dialogruta där du automatiskt kan lägga till nödvändiga bindningsomdirigeringar till källfilen web.config visas.

    Dialogrutan Bindningsbehörighet för omdirigering.

Se även