Aktivieren und Deaktivieren der automatischen Bindungsumleitung

Wenn Sie in Visual Studio Desktop-Apps kompilieren, die auf .NET Framework 4.5.1 und höher ausgerichtet sind, werden der App-Konfigurationsdatei eventuell automatisch Bindungsumleitungen hinzugefügt, um die Assemblyvereinheitlichung außer Kraft zu setzen. Bindungsumleitungen werden hinzugefügt, wenn die App oder ihre Komponenten auf mehr als eine Version der gleichen Assembly verweisen, auch wenn Sie manuell Bindungsumleitungen in der Konfigurationsdatei für Ihre App angeben. Das Feature für die automatische Bindungsumleitung wirkt sich auf Desktop-Apps aus, die auf .NET Framework Version 4.5.1 oder höher ausgerichtet sind. Wenn Sie die automatisch generierte Bindungsumleitung nicht explizit aktiviert oder deaktiviert haben und ein vorhandenes Projekt upgraden, wird das Feature automatisch aktiviert.

Wenn Visual Studio bei Web-Apps auf einen Bindungskonflikt stößt, werden Sie aufgefordert, eine Bindungsumleitung hinzuzufügen, um den Konflikt zu beheben.

Sie können die automatische Bindungsumleitung für vorhandene Apps aktivieren, die auf frühere Versionen von .NET Framework – 4.5 und früher – ausgerichtet sind. Sie können dieses Feature deaktivieren, wenn Sie Bindungsumleitungen manuell erstellen möchten.

Wichtig

Ab Visual Studio 2022 enthält Visual Studio keine .NET Framework-Komponenten für .NET Framework 4.0 bis 4.5.1 mehr, da diese Versionen nicht mehr unterstützt werden. Mit Visual Studio 2022 und höheren Versionen können keine Apps für .NET Framework 4.0 bis .NET Framework 4.5.1 erstellt werden. Sie können Visual Studio 2019 oder eine frühere Version verwenden, um weiterhin solche Apps zu erstellen.

Deaktivieren automatischer Bindungsumleitungen in Desktop-Apps

Automatische Bindungsumleitungen sind standardmäßig bei Windows Desktop-Apps aktiviert, die auf .NET Framework 4.5.1 und höher ausgerichtet sind. Die Bindungsumleitungen werden der app.config-Ausgabekonfigurationsdatei beim Kompilieren der App hinzugefügt. Die Umleitungen setzen die Assemblyvereinheitlichung außer Kraft, die sonst erfolgen könnte. Die app.config-Quelldatei wird nicht geändert. Sie können dieses Feature deaktivieren, indem Sie die Projektdatei für die App ändern oder ein Kontrollkästchen in den Eigenschaften des Projekts in Visual Studio deaktivieren.

Deaktivieren über die Projekteigenschaften

Wenn Sie über Visual Studio 2017 Version 15.7 oder höher verfügen, können Sie automatisch generierte Bindungsumleitungen in den Eigenschaften des Projekts deaktivieren.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus.

  2. Deaktivieren Sie auf der Seite Anwendung die Option Bindungsumleitungen automatisch generieren.

    Wenn die Option nicht angezeigt wird, müssen Sie das Feature in der Projektdatei manuell deaktivieren.

  3. Drücken Sie STRG+S, um die Änderung zu speichern.

Manuelles Deaktivieren in der Projektdatei

  1. Öffnen Sie die Projektdatei mit einer der folgenden Methoden zum Bearbeiten:

    • Wählen Sie in Visual Studio das Projekt im Projektmappen-Explorer aus und dann im Kontextmenü Ordner im Datei-Explorer öffnen. Suchen Sie im Datei-Explorer die Projektdatei – CSPROJ oder VBPROJ – und öffnen Sie sie in Editor.
    • Klicken Sie im Projektmappen-Explorer in Visual Studio mit der rechten Maustaste auf das Projekt, und wählen Sie dann Projekt entladen aus. Klicken Sie mit der rechten Maustaste nochmals auf das entladene Projekt, und wählen Sie dann [projektname.csproj] bearbeiten aus.
  2. Suchen Sie in der Projektdatei den folgende Eigenschafteneintrag:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. Ändern Sie true infalse:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

Manuelles Aktivieren von automatischen Bindungsumleitungen

Sie können automatische Bindungsumleitungen in vorhandenen Apps aktivieren, die auf frühere Versionen von .NET Framework ausgerichtet sind. Das gleiche gilt für Fälle, in denen Sie nicht automatisch zum Hinzufügen einer Umleitung aufgefordert werden. Wenn Ihre Apps auf eine neuere Version von .NET Framework ausgerichtet sind, Sie jedoch nicht automatisch zum Hinzufügen einer Umleitung aufgefordert werden, erhalten Sie wahrscheinlich eine Buildausgabe, die das Neuzuordnen von Assemblys vorschlägt.

  1. Öffnen Sie die Projektdatei mit einer der folgenden Methoden zum Bearbeiten:

    • Wählen Sie in Visual Studio das Projekt im Projektmappen-Explorer aus und dann im Kontextmenü Ordner im Datei-Explorer öffnen. Suchen Sie im Datei-Explorer die Projektdatei – CSPROJ oder VBPROJ – und öffnen Sie sie in Editor.
    • Klicken Sie im Projektmappen-Explorer in Visual Studio mit der rechten Maustaste auf das Projekt, und wählen Sie dann Projekt entladen aus. Klicken Sie mit der rechten Maustaste nochmals auf das entladene Projekt, und wählen Sie dann [projektname.csproj] bearbeiten aus.
  2. Fügen Sie das folgende Element zur ersten Konfigurationseigenschaftengruppe unter dem Tag <PropertyGroup> hinzu:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    Im Folgenden sehen Sie eine Beispielprojektdatei, in die das Element eingefügt wurde:

    <?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. Kompilieren Sie Ihre App.

Aktivieren von automatischen Bindungsumleitungen in Web-Apps

Bei Web-Apps werden automatische Bindungsumleitungen auf andere Weise implementiert. Da bei Web-Apps die web.config-Quellkonfigurationsdatei geändert werden muss, werden der Konfigurationsdatei nicht automatisch Bindungsumleitungen hinzugefügt. Allerdings benachrichtigt Visual Studio Sie bei Bindungskonflikten, und Sie können Bindungsumleitungen hinzufügen, um die Konflikte zu lösen. Da Sie immer zum Hinzufügen von Bindungsumleitungen aufgefordert werden, müssen Sie dieses Feature bei einer Web-App nicht explizit deaktivieren.

So fügen Sie Bindungsumleitungen zu einer web.config-Datei hinzu:

  1. Kompilieren Sie die Anwendung in Visual Studio, und prüfen Sie, ob Buildwarnungen vorliegen.

    Build warning for assembly reference conflicts.

  2. Wenn Konflikte für eine Assemblybindung bestehen, wird eine Warnung angezeigt. Führen Sie einen Doppelklick auf der Warnung aus, oder wählen Sie die Warnung aus, und drücken Sie die EINGABETASTE.

    Ein Dialogfeld wird angezeigt, in dem Sie die erforderlichen Bindungsumleitungen automatisch zur web.config-Quelldatei hinzufügen können.

    Binding redirect permission dialog.

Siehe auch