<qualifyAssembly> 要素

部分名が使用された場合に動的に読み込む必要があるアセンブリの完全名を指定します。

configuration
  runtime
    <assemblyBinding>
      <qualifyAssembly>

構文

      <qualifyAssembly partialName=  
      "PartialAssemblyName"  
                 fullName="FullAssemblyName"/>  

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
partialName 必須の属性です。

コードに表示されるアセンブリの名前の一部を指定します。
fullName 必須の属性です。

グローバル アセンブリ キャッシュに表示されるアセンブリの完全名を指定します。

子要素

なし。

親要素

要素 説明
assemblyBinding アセンブリ バージョンのリダイレクトおよびアセンブリの位置に関する情報が含まれます。
configuration 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。
runtime アセンブリのバインディングとガベージ コレクションに関する情報が含まれています。

解説

部分的なアセンブリ名を使用して Assembly.Load メソッドを呼び出すと、共通言語ランタイムによって、アプリケーションのベース ディレクトリでのみアセンブリが検索されます。 アプリケーション構成ファイルの <qualifyAssembly> 要素を使用してアセンブリの完全な情報 (名前、バージョン、公開キー トークン、カルチャ) を指定すると、共通言語ランタイムによって、グローバル アセンブリ キャッシュ内のアセンブリが検索されます。

fullName 属性には、アセンブリ ID の 4 つのフィールド (名前、バージョン、公開キー トークン、カルチャ) を含める必要があります。 partialName 属性は、アセンブリを部分的に参照する必要があります。 少なくともアセンブリのテキスト名を指定する必要がありますが (最も一般的なケース)、バージョン、公開キー トークン、またはカルチャ (あるいはこれら 4 つの任意の組み合わせ。ただし、4 つすべては除く) を含めることもできます。 partialName は、呼び出しで指定された名前と一致する必要があります。 たとえば、構成ファイルで partialName 属性として "math" を指定し、コードで Assembly.Load("math, Version=3.3.3.3") を呼び出すことはできません。

次の例では、Assembly.Load("math") の呼び出しを論理的に Assembly.Load("math,version=1.0.0.0,publicKeyToken=a1690a5ea44bab32,culture=neutral") に変換します。

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <qualifyAssembly partialName="math"
                         fullName=  
"math,version=1.0.0.0,publicKeyToken=a1690a5ea44bab32,culture=neutral"/>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

関連項目