Assembly.Load メソッド (Byte[], Byte , Evidence)
生成されたアセンブリを含む COFF (Common Object File Format) ベースのイメージを使用して、アセンブリを読み込みます。
Overloads Public Shared Function Load( _
ByVal rawAssembly() As Byte, _ ByVal rawSymbolStore() As Byte, _ ByVal securityEvidence As Evidence _) As Assembly
[C#]
public static Assembly Load(byte[] rawAssembly,byte[] rawSymbolStore,EvidencesecurityEvidence);
[C++]
public: static Assembly* Load(unsigned charrawAssembly __gc[],unsigned charrawSymbolStore __gc[],Evidence* securityEvidence);
[JScript]
public static function Load(
rawAssembly : Byte[],rawSymbolStore : Byte[],securityEvidence : Evidence) : Assembly;
パラメータ
- rawAssembly
生成されたアセンブリを含む COFF ベースのイメージである byte 型配列。 - rawSymbolStore
アセンブリのシンボルを表す生バイトを格納している byte 型の配列。 - securityEvidence
アセンブリを読み込むために必要な証拠。
戻り値
読み込み済みのアセンブリ。
例外
例外の種類 | 条件 |
---|---|
ArgumentNullException | rawAssembly が null 参照 (Visual Basic では Nothing) です。 |
BadImageFormatException | assemblyFile が有効なアセンブリではありません。 |
FileLoadException | 1 つのアセンブリまたはモジュールが 2 つの異なる証拠を使用して 2 回読み込まれました。 |
SecurityException | 呼び出し元に、必要なアクセス許可がありません。 |
解説
アセンブリは、指定された証拠を使用して、呼び出し元のドメインに読み込まれます。アセンブリのシンボルを表す生バイトも読み込まれます。
Load メソッドは既定の読み込みコンテキストを使用し、マネージ アプリケーションで参照されるアセンブリの推移的閉包である一連のアセンブリについて、アセンブリ名とアセンブリ インスタンス情報を記録します。既定の読み込みコンテキストは、Load メソッドで読み込まれるアセンブリに適用され、完全限定されたアセンブリ参照を使用します。
特定のアクセス許可がアセンブリに与えられるかどうかは、証拠を基に判断されます。アセンブリおよびセキュリティの証拠のマージの規則は次のとおりです。
- Evidence パラメータなしで Load メソッドを使用した場合は、ローダーが提供した証拠でアセンブリが読み込まれます。
- Evidence パラメータ付きで Load メソッドを使用した場合は、証拠がマージされます。 Load メソッドの引数として提供された証拠は、ローダーによって提供された証拠の代わりとして使用されます。
- Byte[] パラメータ付きで Load メソッドを使用して COFF (Common Object File Format) イメージを読み込んだ場合、証拠は結合されます。 Zone 、 Url および 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 セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
- FileIOPermission (ファイルまたはディレクトリから読み取るためのアクセス許可、またはパス自体の情報に対するアクセス許可) FileIOPermissionAccess.Read 、 FileIOPermissionAccess.PathDiscovery (関連する列挙体)
- WebPermission ("file://" 以外で始まる URI を読み取るために必要なアクセス許可)
- SecurityPermission (証拠が指定されたアセンブリを読み込むために必要なアクセス許可) SecurityPermissionFlag.ControlEvidence (関連する列挙体)
参照
Assembly クラス | Assembly メンバ | System.Reflection 名前空間 | Assembly.Load オーバーロードの一覧