アセンブリの場所の指定

アセンブリの場所は、次の 2 とおりの方法で指定できます。

.NET Framework 構成ツールを使用して、アセンブリの場所または共通言語ランタイムがアセンブリを検索する場所を指定することもできます。

<codeBase> 要素の使用

<codeBase> 要素は、アセンブリ バージョンのリダイレクトも行うマシン構成ファイルまたは発行者ポリシー ファイルでだけ使用できます。ランタイムは使用するアセンブリ バージョンを決定するときに、バージョンを決定するファイルからコード ベース設定を適用します。コード ベースが指定されていない場合は、通常の方法でアセンブリを検索します。詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。

アセンブリの場所を指定する方法の例を次に示します。

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="myAssembly"
                           publicKeyToken="32ab4ba45e0a69a1"
                           culture="en-us" />
         <codeBase version="2.0.0.0"
                   href="http://www.litwareinc.com/myAssembly.dll"/>
       </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

version 属性は、厳密な名前の付いたすべてのアセンブリに対して設定する必要がありますが、厳密な名前が付いていないアセンブリについては省略してください。<codeBase> 要素には、href 属性が必要です。<codeBase> 要素内には、バージョンの範囲は指定できません。

Noteメモ :

厳密な名前の付いていないアセンブリに対してコード ベースのヒントを提供する場合は、そのヒントでアセンブリ ベースまたはアプリケーション ベース ディレクトリのサブディレクトリを示す必要があります。

<probing> 要素の使用

ランタイムは、コード ベースを持たないアセンブリの場所を検索して特定します。検索の詳細については、「ランタイムがアセンブリを検索する方法」を参照してください。

アプリケーション構成ファイルの <probing> 要素を使用して、アセンブリの場所を特定するときにランタイムが検索する必要のあるサブディレクトリを指定できます。ランタイムが検索するディレクトリを指定する方法の例を次に示します。

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin2\subbin;bin3"/>
      </assemblyBinding>
   </runtime>
</configuration>

privatePath 属性に、ランタイムがアセンブリを検索する必要があるディレクトリを指定します。アプリケーションが C:\Program Files\MyApp に配置されている場合、ランタイムは、コード ベースが指定されていないアセンブリを C:\Program Files\MyApp\Bin、C:\Program Files\MyApp\Bin2\Subbin、および C:\Program Files\MyApp\Bin3 内で検索します。privatePath に指定するディレクトリは、アプリケーション ベース ディレクトリのサブディレクトリであることが必要です。

参照

概念

ランタイムがアセンブリを検索する方法

その他の技術情報

共通言語ランタイムのアセンブリ
アセンブリを使用したプログラミング
アプリケーションの設定