次の方法で共有


Assembly.Load メソッド (Byte[], Byte[])

生成されたアセンブリを含む COFF (Common Object File Format) ベースのイメージを使用して、アセンブリを読み込みます。

Overloads Public Shared Function Load( _
   ByVal rawAssembly() As Byte, _   ByVal rawSymbolStore() As Byte _) As Assembly
[C#]
public static Assembly Load(byte[] rawAssembly,byte[] rawSymbolStore);
[C++]
public: static Assembly* Load(unsigned charrawAssembly __gc[],unsigned charrawSymbolStore __gc[]);
[JScript]
public static function Load(
   rawAssembly : Byte[],rawSymbolStore : Byte[]) : Assembly;

パラメータ

  • rawAssembly
    生成されたアセンブリを含む COFF ベースのイメージである byte 型配列。
  • rawSymbolStore
    アセンブリのシンボルを表す生バイトを格納している byte 型の配列。

戻り値

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

例外

例外の種類 条件
ArgumentNullException rawAssembly が null 参照 (Visual Basic では Nothing) です。
SecurityException 呼び出し元に、必要なアクセス許可がありません。
BadImageFormatException assemblyFile が有効なアセンブリではありません。

解説

アセンブリは呼び出し元のドメインに読み込まれ、アセンブリのシンボルを表す生バイトも読み込まれます。

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 オーバーロードの一覧