方法: 自動バインディング リダイレクトを有効/無効にするHow to: Enable and Disable Automatic Binding Redirection

Visual studio を対象とするアプリをコンパイルするときに、.NET Framework 4.5.1.NET Framework 4.5.1以降のバージョンでバインド リダイレクトが自動的にアセンブリの統一をオーバーライドするアプリの構成ファイルに追加するとします。When you compile apps in Visual Studio that target the .NET Framework 4.5.1.NET Framework 4.5.1 and later versions, binding redirects may be automatically added to the app configuration file to override assembly unification. アプリの構成ファイルで手動でバインド リダイレクトを指定している場合でも、アプリまたはそのコンポーネントが同じアセンブリの複数バージョンを参照している場合、バインド リダイレクトが追加されます。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. 自動バインド リダイレクトの機能に影響を与えます従来のデスクトップ アプリと web アプリを対象とする、.NET Framework 4.5.1.NET Framework 4.5.1以降のバージョンの動作は、web アプリに少しずつ異なります。The automatic binding redirection feature affects traditional desktop apps and web apps that target the .NET Framework 4.5.1.NET Framework 4.5.1 or a later version, although the behavior is slightly different for a web app. 以前のバージョンの .NET Framework を対象とする既存のアプリがある場合は、自動バインド リダイレクトを有効にできます。また、手動で作成したバインド リダイレクトを保持する場合は、この機能を無効にできます。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 keep manually authored binding redirects.

デスクトップ アプリで自動バインド リダイレクトを無効にします。Disable automatic binding redirects in desktop apps

自動バインド リダイレクトは、.NET Framework 4.5.1.NET Framework 4.5.1 以上のバージョンを対象とする従来のデスクトップ アプリで、既定で有効になっています。Automatic binding redirects are enabled by default for traditional desktop apps that target the .NET Framework 4.5.1.NET Framework 4.5.1 and later versions. バインド リダイレクトは、アプリケーションがコンパイルされ、発生する可能性のあるアセンブリの統一をオーバーライドするときに、出力構成ファイル (app.config) に追加されます。The binding redirects are added to the output configuration (app.config) file when the app is compiled and overrides the assembly unification that might otherwise take place. ソース app.config ファイルは変更されません。The source app.config file is not modified. アプリのプロジェクト ファイルを変更して、この機能を無効にできます。You can disable this feature by modifying the project file for the app.

  1. 次のメソッドのいずれかを使用して編集するためのプロジェクト ファイルを開きます。Open the project file for editing using one of the following methods:

    • Visual studio でプロジェクトを選択ソリューション エクスプ ローラーを選び、ファイル エクスプ ローラーでフォルダーを開くショートカット メニューから。In Visual Studio, select the project in Solution Explorer, and then choose Open Folder in File Explorer from the shortcut menu. ファイル エクスプ ローラーでプロジェクト (.csproj または .vbproj) ファイルを検索し、メモ帳で開きます。In File Explorer, find the project (.csproj or .vbproj) file and open it in Notepad.
    • Visual Studio でのソリューション エクスプ ローラーでプロジェクトを右クリックし、選択プロジェクトのアンロードします。In Visual Studio, in Solution Explorer, right-click the project and choose Unload Project. ここでも、アンロードされたプロジェクトを右クリックして 編集 [projectname.csproj] します。Right-click the unloaded project again, and then choose Edit [projectname.csproj].
  2. プロジェクト ファイルで、次のプロパティ エントリを検索します。In the project file, find the following property entry:

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    
  3. truefalse に変更します。Change true to false:

    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
    

自動バインド リダイレクトを手動で有効にします。Enable automatic binding redirects manually

旧バージョンを対象を自動的に求められたら、リダイレクトを追加する場合や、.NET Framework の既存のアプリで自動バインド リダイレクトを有効にできます。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. 新しいバージョンの framework を対象としているリダイレクトの追加を自動的に求められません場合は、ビルド出力アセンブリを再マップすることを示す可能性がありますが表示されます。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. 次のメソッドのいずれかを使用して編集するためのプロジェクト ファイルを開きます。Open the project file for editing using one of the following methods:

    • Visual studio でプロジェクトを選択ソリューション エクスプ ローラーを選び、ファイル エクスプ ローラーでフォルダーを開くショートカット メニューから。In Visual Studio, select the project in Solution Explorer, and then choose Open Folder in File Explorer from the shortcut menu. ファイル エクスプ ローラーでプロジェクト (.csproj または .vbproj) ファイルを検索し、メモ帳で開きます。In File Explorer, find the project (.csproj or .vbproj) file and open it in Notepad.
    • Visual Studio でのソリューション エクスプ ローラーでプロジェクトを右クリックし、選択プロジェクトのアンロードします。In Visual Studio, in Solution Explorer, right-click the project and choose Unload Project. ここでも、アンロードされたプロジェクトを右クリックして 編集 [projectname.csproj] します。Right-click the unloaded project again, and then choose Edit [projectname.csproj].
  2. 最初の構成プロパティ グループに次の要素を追加 (で、 <PropertyGroup > タグ)。Add the following element to the first configuration property group (under the <PropertyGroup> tag):

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    

    次の要素が挿入されたプロジェクト ファイルの例を次に示します。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 your app.

Web apps での自動バインド リダイレクトを有効にします。Enable automatic binding redirects in web apps

自動バインド リダイレクトは、Web アプリでは異なる方法で実装されます。Automatic binding redirects are implemented differently for web apps. ソースの構成 (web.config) ファイルを Web アプリ用に変更する必要があるため、バインド リダイレクトは構成ファイルに自動的に追加されません。Because the source configuration (web.config) file must be modified for web apps, binding redirects are not automatically added to the configuration file. ただし、Visual Studio によってバインドの競合が通知されるため、バインド リダイレクトを追加して競合を解決できます。However, Visual Studio notifies you of binding conflicts, and you can add binding redirects to resolve the conflicts. 常にバインド リダイレクトを追加する指示に従い、ため、web アプリに対してこの機能を明示的に無効にする必要はありません。Because you're always prompted to add binding redirects, you don't need to explicitly disable this feature for a web app.

Web.config ファイルにバインド リダイレクトを追加するにはTo add binding redirects to a web.config file:

  1. Visual Studio で、アプリをコンパイルし、ビルドの警告を確認します。In Visual Studio, compile the app, and check for build warnings.

    ビルドのアセンブリ参照の競合の警告Build warning for assembly reference conflicts

  2. アセンブリ バインドの競合がある場合、警告が表示されます。If there are assembly binding conflicts, a warning appears. 警告をダブルクリックするか、警告とキーを押して選択Enterします。Double-click the warning, or select the warning and press Enter.

    自動的にソース web.config ファイルに必要なバインド リダイレクトを追加できるダイアログ ボックスが表示されます。A dialog box that enables you to automatically add the necessary binding redirects to the source web.config file appears.

    バインド リダイレクトのアクセス許可ダイアログBinding redirect permission dialog

関連項目See also