Assembly.Load メソッド (AssemblyName, Evidence)

AssemblyName を指定してアセンブリを読み込みます。アセンブリは、指定された証拠を使用して、呼び出し元のドメインに読み込まれます。

Overloads Public Shared Function Load( _
   ByVal assemblyRef As AssemblyName, _   ByVal assemblySecurity As Evidence _) As Assembly
[C#]
public static Assembly Load(AssemblyNameassemblyRef,EvidenceassemblySecurity);
[C++]
public: static Assembly* Load(AssemblyName* assemblyRef,Evidence* assemblySecurity);
[JScript]
public static function Load(
   assemblyRef : AssemblyName,assemblySecurity : Evidence) : Assembly;

パラメータ

  • assemblyRef
    読み込むアセンブリを記述する AssemblyName オブジェクト。
  • assemblySecurity
    アセンブリを読み込むために必要な証拠。

戻り値

読み込み済みのアセンブリ。

例外

例外の種類 条件
ArgumentNullException assemblyRef が null 参照 (Visual Basic では Nothing) です。
FileNotFoundException assemblyRef が見つかりません。
BadImageFormatException assemblyFile が有効なアセンブリではありません。
FileLoadException 1 つのアセンブリまたはモジュールが 2 つの異なる証拠を使用して 2 回読み込まれました。
SecurityException 呼び出し元に、必要なアクセス許可がありません。

解説

Load メソッドは既定の読み込みコンテキストを使用し、マネージ アプリケーションで参照されるアセンブリの推移的閉包である一連のアセンブリについて、アセンブリ名とアセンブリ インスタンス情報を記録します。既定の読み込みコンテキストは、Load メソッドで読み込まれるアセンブリに適用され、完全限定されたアセンブリ参照を使用します。

特定のアクセス許可がアセンブリに与えられるかどうかは、証拠を基に判断されます。アセンブリおよびセキュリティの証拠のマージの規則は次のとおりです。

  • Evidence パラメータなしで Load メソッドを使用した場合は、ローダーが提供した証拠でアセンブリが読み込まれます。
  • Evidence パラメータ付きで Load メソッドを使用した場合は、証拠がマージされます。 Load メソッドの引数として提供された証拠は、ローダーによって提供された証拠の代わりとして使用されます。
  • Byte[] パラメータ付きで Load メソッドを使用して COFF (Common Object File Format) イメージを読み込んだ場合、証拠は結合されます。 ZoneUrl および Site は呼び出し元のアセンブリから継承され、 Hash および StrongName は COFF アセンブリから取得されます。
  • Byte[] パラメータおよび Evidence 付きで Load メソッドを使用して COFF (Common Object File Format) イメージを読み込んだ場合、指定された証拠だけが使用されます。呼び出し元のアセンブリの証拠および COFF イメージの証拠は無視されます。

C++ マネージ拡張実行可能ファイルにリフレクションすると、 BadImageFormatException がスローされることがあります。最大の原因は、C++ コンパイラが再配置アドレスまたは .Reloc セクションを実行可能ファイルから除去することです。C++ 実行可能ファイルの .reloc アドレスを保持するには、リンク時に /fixed:no を指定します。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Assembly クラス | Assembly メンバ | System.Reflection 名前空間 | Assembly.Load オーバーロードの一覧 | Evidence