アセンブリ バインディングのリダイレクトの構成

既定では、アプリケーションは、アプリケーションのコンパイルに使用したランタイム バージョンと共に出荷された .NET Framework アセンブリのセットを使用します。アプリケーション構成ファイルの <assemblyBinding> 要素で appliesTo 属性を使用すると、アセンブリ バインディング参照を .NET Framework アセンブリの特定のバージョンにリダイレクトできます。このオプションの属性は、.NET Framework のバージョン番号を使用して、どのバージョンに適用するのかを示します。appliesTo 属性が指定されていない場合、<assemblyBinding> 要素は .NET Framework のすべてのバージョンに適用されます。

appliesTo 属性は .NET Framework Version 1.1 で導入されたので、.NET Framework Version 1.0 では無視されます。つまり、appliesTo 属性が指定されている場合でも、.NET Framework Version 1.0 を使用しているときはすべての <assemblyBinding> 要素が適用されます。

Noteメモ :

appliesTo 属性は、アセンブリ バインディングのリダイレクトをランタイムの特定のバージョンに制限するために使用します。

たとえば、.NET Framework Version 1.0 アセンブリのアセンブリ バインディングをリダイレクトするには、アプリケーション構成ファイルに次の XML コードを追加します。

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v1.0.3705">
            <dependentAssembly> 
               * assembly information goes here *
            </dependentAssembly>
       </assemblyBinding>
</runtime>

<assemblyBinding> 要素は、順番が区別されます。最初に .NET Framework Version 1.0 のアセンブリのアセンブリ バインディング リダイレクト情報を入力し、その次に .NET Framework Version 1.1 のアセンブリのアセンブリ バインディング リダイレクト情報を入力します。最後に、appliesTo 属性を使用せず、すべてのバージョンの .NET Framework に適用される .NET Framework アセンブリ リダイレクトのアセンブリ バインディング リダイレクト情報を入力します。リダイレクトで矛盾が発生した場合は、構成ファイル内で最初に一致したリダイレクト ステートメントが使用されます。

たとえば、ある参照を .NET Framework Version 1.0 のアセンブリにリダイレクトし、別の参照を .NET Framework Version 1.1 のアセンブリにリダイレクトするには、次の擬似コードに示すパターンを使用します。

<assemblyBinding xmlns="..." appliesTo="v1.0.3705"> 
<! — .NET Framework version 1.0 redirects here. --> 
</assemblyBinding> 

<assemblyBinding xmlns="..." appliesTo="v1.1.4322"> 
    <! — .NET Framework version 1.1 redirects here. --> 
</assemblyBinding> 

<assemblyBinding xmlns="..."> 
<!-- Redirects meant for all versions of the .NET Framework. --> 
</assemblyBinding>

参照

処理手順

方法 : アプリケーション構成ファイルを使用して対象とする .NET Framework のバージョンを指定する

概念

構成ファイル エラーのデバッグ
アセンブリ バインディングのリダイレクト
読み込むランタイム バージョンの決定