Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Method

定義

アセンブリを読み込みます。Loads an assembly.

オーバーロード

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

ファイル名またはパス、セキュリティ証拠、ハッシュ値、およびハッシュ アルゴリズムを指定してアセンブリを読み込みます。Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

ファイル名またはパス、ハッシュ値、およびハッシュ アルゴリズムを指定してアセンブリを読み込みます。Loads an assembly given its file name or path, hash value, and hash algorithm.

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

ファイル名またはパスを指定してアセンブリを読み込みます。Loads an assembly given its file name or path.

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

ファイル名またはパスを指定してアセンブリを読み込み、セキュリティ証拠を提供します。Loads an assembly given its file name or path and supplying security evidence.

注釈

.NET Framework 4 以降では、既定の呼び出しでリモートの場所から読み込まれるアセンブリでコードを実行する機能が無効です、LoadFromメソッドがスローされます、FileLoadExceptionします。Starting with .NET Framework 4, the ability to execute code in assemblies loaded from remote locations is disabled by default, and the call to the LoadFrom method throws a FileLoadException. アセンブリを読み込むし、そのコードを実行、する必要がありますか。To load the assembly and execute its code, you must either:

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

警告

この API は現在使われていません。

ファイル名またはパス、セキュリティ証拠、ハッシュ値、およびハッシュ アルゴリズムを指定してアセンブリを読み込みます。Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete]
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom (string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

パラメーター

assemblyFile
String String String String

アセンブリのマニフェストを格納しているファイルの名前またはパス。The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

アセンブリを読み込むために必要な証拠。Evidence for loading the assembly.

hashValue
Byte[]

計算されたハッシュ コードの値。The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

ファイルのハッシュ処理および厳密な名前の生成に使用されるハッシュ アルゴリズム。The hash algorithm used for hashing files and for generating the strong name.

戻り値

読み込まれるアセンブリ。The loaded assembly.

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つからないか、または読み込もうとしているモジュールにファイル名拡張子が指定されていません。assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

検出されたファイルを読み込めませんでした。A file that was found could not be loaded.

- または --or- securityEvidence はあいまいではなく、正しくないと判断されました。The securityEvidence is not ambiguous and is determined to be invalid.

- または --or-

リモート アセンブリ内でコードを実行する機能が無効になっています。The ability to execute code in remote assemblies is disabled. <loadFromRemoteSources> を参照してください。See <loadFromRemoteSources>.

assemblyFile は有効なアセンブリではありません (64 ビット プロセスの 32 ビット アセンブリなど)。assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. 詳細については、例外に関するトピックを参照してください。See the exception topic for more information.

- または --or- 共通言語ランタイムのバージョン 2.0 以降が現在読み込まれています。assemblyFile は、より新しいバージョンでコンパイルされています。Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

"file://" で始まっていないコードベースが、必須の WebPermission なしで指定されました。A codebase that does not start with "file://" was specified without the required WebPermission.

assemblyFile パラメーターが空の文字列 ("") です。The assemblyFile parameter is an empty string ("").

アセンブリ名がシステム定義の最大長を超えています。The assembly name exceeds the system-defined maximum length.

注釈

assemblyFileパラメーターは、エスケープ文字のない URI に参照する必要があります。The assemblyFile parameter must refer to a URI without escape characters. このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。This method supplies escape characters for all invalid characters in the URI.

注意

ファイル転送プロトコル (FTP) はサポートされていません。File transfer protocol (FTP) is not supported. URI が指定されている場合assemblyFileFTP アドレスは、アセンブリが読み込まれていません。If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. 例外をスローすることはありません。No exception is thrown.

assemblyFile 絶対パスまたは現在のディレクトリに相対する可能性があります、アセンブリは、呼び出し元のドメインに読み込まれます。assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

アセンブリは、3 つのコンテキストのいずれかに読み込むことができるまたは、コンテキストなしで読み込むことができます。Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • 読み込みコンテキストに調査して見つかるアセンブリが含まれています。 GAC 内のホスト アセンブリで、ランタイムがホストされている場合または保存、ApplicationBasePrivateBinPathのアプリケーション ドメイン。The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. Load メソッドのほとんどのオーバーロードは、このコンテキストにアセンブリを読み込みます。Most overloads of the Load method load assemblies into this context.

  • 読み込み元コンテキストには、ユーザーが調査によって検索されたディレクトリに含まれていないパスを指定したアセンブリが含まれています。The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFromCreateInstanceFromExecuteAssembly は、パスを使用して読み込むメソッドの例です。LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    場合は、.NET Framework 4 以降の URI assemblyFile 、リモートの場所を指定します。 既定では、アセンブリの読み込みが無効になっているとLoadFromメソッドがスローされます、 FileLoadExceptionStarting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. リモートの場所から読み込まれたコードの実行を有効にするを使用できます、 <loadFromRemoteSources> 構成要素。To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • リフレクション専用コンテキストに読み込まれたアセンブリが含まれています、ReflectionOnlyLoadReflectionOnlyLoadFromメソッドはこれらのコードのコンテキストを実行することはできません。The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • ユーザーは、生成されたか、アセンブリが見つかりましたでない任意のコンテキスト。If the user generated or found the assembly, it is not in any context. これのオーバー ロードを使用して読み込まれたアセンブリに適用されます、Loadアセンブリを含むバイト配列を指定し、一時動的アセンブリがリフレクションを使用して作成するには、出力をディスクに保存せずメソッドをします。This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

読み込み元コンテキストには、調査には含まれないパスから読み込まれるアセンブリができ、そのパスを見つけ、パス情報がコンテキストによって保持されるため、読み込まれた依存関係ができます。The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFromメソッドには、次の欠点です。The LoadFrom method has the following disadvantages. 代わりに Load を使用することを検討してください。Consider using Load instead.

  • 同じ ID を持つアセンブリが既に読み込まれている場合、LoadFrom は、別のパスが指定されている場合であっても、読み込み済みのアセンブリを返します。If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • LoadFrom を使用してアセンブリを読み込んだ後、同じアセンブリを、読み込みコンテキストにあるアセンブリが表示名で読み込もうとすると、読み込みが失敗します。If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. この問題は、アセンブリが逆シリアル化されるときに発生します。This can occur when an assembly is deserialized.

  • アセンブリが読み込まれている場合LoadFrom、プローブ パスに同じ id が、別の場所でアセンブリが含まれています、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生することができます。If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom には、指定したパスに対する FileIOPermissionAccess.Read および FileIOPermissionAccess.PathDiscovery、または WebPermission が必要です。LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • ネイティブ イメージが存在する場合assemblyFileは使用されません。If a native image exists for assemblyFile, it is not used. アセンブリをドメインに中立として読み込まれたにすることはできません。The assembly cannot be loaded as domain neutral.

  • .NET framework version 1.0 および 1.1 では、ポリシーは適用されません。In the .NET Framework version 1.0 and 1.1, policy is not applied.

アセンブリに対して特定のアクセス許可を付与するかどうかは、証拠に基づいて決定されます。Whether certain permissions are granted or not granted to an assembly is based on evidence. アセンブリとマージのセキュリティ証拠の規則は次のとおりです。The rules for assembly and security evidence merging are as follows:

  • 使用すると、LoadFromなしでメソッドEvidenceパラメーター、アセンブリの表示はローダーが提供する証拠を使用して読み込まれます。When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • 使用すると、LoadFromメソッドをEvidenceパラメーターの証拠がマージされます。When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. 引数として指定された証拠、LoadFromメソッドは、ローダーによって提供される証拠の部分を置き換えます。Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • 共通言語ランタイムがスローしない場合は、同じアセンブリが異なる証拠を指定に、このメソッドを複数回呼び出す、FileLoadException異なる証拠仕様の整合性と等しいかどうかを判断できないためです。If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. 最初に成功した証拠は、使用される証拠です。The evidence that first succeeds is the evidence that is used.

  • 使用すると、LoadFromメソッドをByte[]common object file format (COFF) イメージ、証拠を読み込むパラメーターが組み合わされます。When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. ZoneUrlSiteは呼び出し元のアセンブリから継承されるとHashStrongNameCOFF アセンブリから取得されます。Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • 使用すると、LoadFromメソッドをByte[]パラメーターとEvidenceCOFF イメージを読み込むには、指定された証拠のみが使用されます。When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. 呼び出し元のアセンブリの証拠と COFF イメージの証拠が無視されます。Evidence of the calling assembly and evidence of the COFF image is ignored.

セキュリティ

SecurityPermission
証拠とアセンブリの読み込み。to load an assembly with evidence. 関連付けられた列挙体。 ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
file:// で始まる URI を読み取る。for reading a URI that begins with "file://". 関連付けられた列挙体。 ReadAssociated enumeration: Read

WebPermission
file:// で始まらないする URI を読み取る。for reading a URI that does not begin with "file://".

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

ファイル名またはパス、ハッシュ値、およびハッシュ アルゴリズムを指定してアセンブリを読み込みます。Loads an assembly given its file name or path, hash value, and hash algorithm.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom (string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

パラメーター

assemblyFile
String String String String

アセンブリのマニフェストを格納しているファイルの名前またはパス。The name or path of the file that contains the manifest of the assembly.

hashValue
Byte[]

計算されたハッシュ コードの値。The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

ファイルのハッシュ処理および厳密な名前の生成に使用されるハッシュ アルゴリズム。The hash algorithm used for hashing files and for generating the strong name.

戻り値

読み込まれるアセンブリ。The loaded assembly.

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つからないか、または読み込もうとしているモジュールにファイル名拡張子が指定されていません。assemblyFile is not found, or the module you are trying to load does not specify a file name extension.

検出されたファイルを読み込めませんでした。A file that was found could not be loaded.

- または --or-

リモート アセンブリ内でコードを実行する機能が無効になっています。The ability to execute code in remote assemblies is disabled. <loadFromRemoteSources> を参照してください。See <loadFromRemoteSources>.

assemblyFile は有効なアセンブリではありません (64 ビット プロセスの 32 ビット アセンブリなど)。assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. 詳細については、例外に関するトピックを参照してください。See the exception topic for more information.

- または --or- 現在読み込まれているバージョンよりも新しいバージョンの共通言語ランタイムで、assemblyFile がコンパイルされました。assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

"File://" で始まっていないコードベースが、必須の WebPermission なしで指定されました。A codebase that does not start with "file://" was specified without the required WebPermission.

assemblyFile パラメーターが空の文字列 ("") です。The assemblyFile parameter is an empty string ("").

アセンブリ名がシステム定義の最大長を超えています。The assembly name exceeds the system-defined maximum length.

注釈

assemblyFileパラメーターは、エスケープ文字のない URI に参照する必要があります。The assemblyFile parameter must refer to a URI without escape characters. このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。This method supplies escape characters for all invalid characters in the URI.

注意

ファイル転送プロトコル (FTP) はサポートされていません。File transfer protocol (FTP) is not supported. URI が指定されている場合assemblyFileFTP アドレスは、アセンブリが読み込まれていません。If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. 例外をスローすることはありません。No exception is thrown.

assemblyFile 絶対パスまたは現在のディレクトリに相対する可能性があります、アセンブリは、呼び出し元のドメインに読み込まれます。assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

アセンブリは、3 つのコンテキストのいずれかに読み込むことができるまたは、コンテキストなしで読み込むことができます。Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • 読み込みコンテキストに調査して見つかるアセンブリが含まれています: グローバル アセンブリ キャッシュ内のホスト アセンブリで、ランタイムがホストされている場合または保存、ApplicationBasePrivateBinPathのアプリケーション ドメイン。The load context contains assemblies found by probing: in the global assembly cache, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. Load メソッドのほとんどのオーバーロードは、このコンテキストにアセンブリを読み込みます。Most overloads of the Load method load assemblies into this context.

  • 読み込み元コンテキストには、ユーザーでは、プローブには含まれていないパスを指定したアセンブリが含まれています。The load-from context contains assemblies for which the user provided a path that is not included in probing. LoadFromCreateInstanceFromExecuteAssembly は、パスを使用して読み込むメソッドの例です。LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    場合は、.NET Framework 4 以降の URI assemblyFile 、リモートの場所を指定します。 既定では、アセンブリの読み込みが無効になっているとLoadFromメソッドがスローされます、 FileLoadExceptionStarting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. リモートの場所から読み込まれたコードの実行を有効にするを使用できます、 <loadFromRemoteSources> 構成要素。To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • リフレクション専用コンテキストに読み込まれたアセンブリが含まれています、ReflectionOnlyLoadReflectionOnlyLoadFromメソッドはこれらのコードのコンテキストを実行することはできません。The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • ユーザーは、生成されたか、アセンブリが見つかりましたでない任意のコンテキスト。If the user generated or found the assembly, it is not in any context. これのオーバー ロードを使用して読み込まれたアセンブリに適用されます、Loadアセンブリを含むバイト配列を指定し、一時動的アセンブリがリフレクションを使用して作成するには、出力をディスクに保存せずメソッドをします。This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

読み込み元コンテキストには、調査に含まれていないパスから読み込まれるアセンブリができ、そのパスを見つけ、パス情報がコンテキストによって保持されるため、読み込まれた依存関係ができます。The load-from context allows an assembly to be loaded from a path that is not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFromメソッドには、次の欠点です。The LoadFrom method has the following disadvantages. 代わりに Load を使用することを検討してください。Consider using Load instead.

  • 同じ ID を持つアセンブリが既に読み込まれている場合、LoadFrom は、別のパスが指定されている場合であっても、読み込み済みのアセンブリを返します。If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • LoadFrom を使用してアセンブリを読み込んだ後、同じアセンブリを、読み込みコンテキストにあるアセンブリが表示名で読み込もうとすると、読み込みが失敗します。If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. この問題は、アセンブリが逆シリアル化されるときに発生します。This can occur when an assembly is deserialized.

  • アセンブリが読み込まれている場合LoadFrom、プローブ パスに同じ id が、別の場所でアセンブリが含まれています、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生することができます。If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom には、指定したパスに対する FileIOPermissionAccess.Read および FileIOPermissionAccess.PathDiscovery、または WebPermission が必要です。LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • ネイティブ イメージが存在する場合assemblyFileは使用されません。If a native image exists for assemblyFile, it is not used. アセンブリをドメイン中立として読み込むことはできません。The assembly cannot be loaded as domain-neutral.

アセンブリは、ローダーが提供する証拠を使用して読み込まれます。The assembly is loaded with the evidence that the loader supplies.

セキュリティ

SecurityPermission
証拠とアセンブリの読み込み。to load an assembly with evidence. 関連付けられた列挙体。 ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
file:// で始まる URI を読み取る。for reading a URI that begins with "file://". 関連付けられた列挙体。 ReadAssociated enumeration: Read

WebPermission
file:// で始まらないする URI を読み取る。for reading a URI that does not begin with "file://".

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

ファイル名またはパスを指定してアセンブリを読み込みます。Loads an assembly given its file name or path.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
public static System.Reflection.Assembly LoadFrom (string assemblyFile);
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly

パラメーター

assemblyFile
String String String String

アセンブリのマニフェストを格納しているファイルの名前またはパス。The name or path of the file that contains the manifest of the assembly.

戻り値

読み込まれるアセンブリ。The loaded assembly.

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つからないか、または読み込もうとしているモジュールにファイル名拡張子が指定されていません。assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

検出されたファイルを読み込めませんでした。A file that was found could not be loaded.

- または --or-

リモート アセンブリ内でコードを実行する機能が無効になっています。The ability to execute code in remote assemblies is disabled. <loadFromRemoteSources> を参照してください。See <loadFromRemoteSources>.

assemblyFile は有効なアセンブリではありません (64 ビット プロセスの 32 ビット アセンブリなど)。assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. 詳細については、例外に関するトピックを参照してください。See the exception topic for more information.

- または --or- 共通言語ランタイムのバージョン 2.0 以降が現在読み込まれています。assemblyFile は、より新しいバージョンでコンパイルされています。Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

"file://" で始まっていないコードベースが、必須の WebPermission なしで指定されました。A codebase that does not start with "file://" was specified without the required WebPermission.

assemblyFile パラメーターが空の文字列 ("") です。The assemblyFile parameter is an empty string ("").

アセンブリ名がシステム定義の最大長を超えています。The assembly name exceeds the system-defined maximum length.

次の例では、そのファイル名またはパスを指定してアセンブリを読み込みます。The following example loads an assembly given its file name or path.

Assembly^ SampleAssembly;
SampleAssembly = Assembly::LoadFrom( "c:\\Sample.Assembly.dll" );
// Obtain a reference to a method known to exist in assembly.
MethodInfo^ Method = SampleAssembly->GetTypes()[ 0 ]->GetMethod( "Method1" );
// Obtain a reference to the parameters collection of the MethodInfo instance.
array<ParameterInfo^>^ Params = Method->GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System::String
//   Position = 0
//   Optional=False
for each ( ParameterInfo^ Param in Params )
{
   Console::WriteLine( "Param= {0}", Param->Name );
   Console::WriteLine( "  Type= {0}", Param->ParameterType );
   Console::WriteLine( "  Position= {0}", Param->Position );
   Console::WriteLine( "  Optional= {0}", Param->IsOptional );
}
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
'   Type = System.String
'   Position = 0
'   Optional=False
For Each Param As ParameterInfo In Params
    Console.WriteLine(("Param=" + Param.Name.ToString()))
    Console.WriteLine(("  Type=" + Param.ParameterType.ToString()))
    Console.WriteLine(("  Position=" + Param.Position.ToString()))
    Console.WriteLine(("  Optional=" + Param.IsOptional.ToString()))
Next 

注釈

assemblyFileパラメーターは、エスケープ文字のない URI に参照する必要があります。The assemblyFile parameter must refer to a URI without escape characters. このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。This method supplies escape characters for all invalid characters in the URI.

注意

ファイル転送プロトコル (FTP) はサポートされていません。File transfer protocol (FTP) is not supported. URI が指定されている場合assemblyFileFTP アドレスは、アセンブリが読み込まれていません。If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. 例外をスローすることはありません。No exception is thrown.

assemblyFile 絶対パスまたは現在のディレクトリに相対する可能性があります、アセンブリは、呼び出し元のドメインに読み込まれます。assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

アセンブリは、3 つのコンテキストのいずれかに読み込むことができるまたは、コンテキストなしで読み込むことができます。Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • 読み込みコンテキストに調査して見つかるアセンブリが含まれています。 GAC 内のホスト アセンブリで、ランタイムがホストされている場合または保存、ApplicationBasePrivateBinPathのアプリケーション ドメイン。The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. Load メソッドのほとんどのオーバーロードは、このコンテキストにアセンブリを読み込みます。Most overloads of the Load method load assemblies into this context.

  • 読み込み元コンテキストには、ユーザーが調査によって検索されたディレクトリに含まれていないパスを指定したアセンブリが含まれています。The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFromCreateInstanceFromExecuteAssembly は、パスを使用して読み込むメソッドの例です。LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    場合は、.NET Framework 4 以降の URI assemblyFile 、リモートの場所を指定します。 既定では、アセンブリの読み込みが無効になっているとLoadFromメソッドがスローされます、 FileLoadExceptionStarting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. リモートの場所から読み込まれたコードの実行を有効にするを使用できます、 <loadFromRemoteSources> 構成要素。To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • リフレクション専用コンテキストに読み込まれたアセンブリが含まれています、ReflectionOnlyLoadReflectionOnlyLoadFromメソッドはこれらのコードのコンテキストを実行することはできません。The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • ユーザーは、生成されたか、アセンブリが見つかりましたでない任意のコンテキスト。If the user generated or found the assembly, it is not in any context. これのオーバー ロードを使用して読み込まれたアセンブリに適用されます、Loadアセンブリを含むバイト配列を指定し、一時動的アセンブリがリフレクションを使用して作成するには、出力をディスクに保存せずメソッドをします。This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

読み込み元コンテキストには、調査には含まれないパスから読み込まれるアセンブリができ、そのパスを見つけ、パス情報がコンテキストによって保持されるため、読み込まれた依存関係ができます。The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFromメソッドには、次の欠点です。The LoadFrom method has the following disadvantages. 代わりに Load を使用することを検討してください。Consider using Load instead.

  • 同じ ID を持つアセンブリが既に読み込まれている場合、LoadFrom は、別のパスが指定されている場合であっても、読み込み済みのアセンブリを返します。If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • LoadFrom を使用してアセンブリを読み込んだ後、同じアセンブリを、読み込みコンテキストにあるアセンブリが表示名で読み込もうとすると、読み込みが失敗します。If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. これは、アセンブリがシリアル化解除されたときに発生します。This can occur when an assembly is de-serialized.

  • アセンブリが読み込まれている場合LoadFrom、プローブ パスに同じ id が、別の場所でアセンブリが含まれています、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生することができます。If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom には、指定したパスに対する FileIOPermissionAccess.Read および FileIOPermissionAccess.PathDiscovery、または WebPermission が必要です。LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • ネイティブ イメージが存在する場合assemblyFileは使用されません。If a native image exists for assemblyFile, it is not used. アセンブリをドメインに中立として読み込まれたにすることはできません。The assembly cannot be loaded as domain neutral.

  • .NET framework version 1.0 および 1.1 では、ポリシーは適用されません。In the .NET Framework version 1.0 and 1.1, policy is not applied.

セキュリティ

FileIOPermission
file:// で始まる URI を読み取る。for reading a URI that begins with "file://". 関連付けられた列挙体。 ReadAssociated enumeration: Read

WebPermission
file:// で始まらないする URI を読み取る。for reading a URI that does not begin with "file://".

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

警告

この API は現在使われていません。

ファイル名またはパスを指定してアセンブリを読み込み、セキュリティ証拠を提供します。Loads an assembly given its file name or path and supplying security evidence.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
[System.Obsolete]
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom (string assemblyFile, System.Security.Policy.Evidence securityEvidence);
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly

パラメーター

assemblyFile
String String String String

アセンブリのマニフェストを格納しているファイルの名前またはパス。The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

アセンブリを読み込むために必要な証拠。Evidence for loading the assembly.

戻り値

読み込まれるアセンブリ。The loaded assembly.

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つからないか、または読み込もうとしているモジュールにファイル名拡張子が指定されていません。assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

検出されたファイルを読み込めませんでした。A file that was found could not be loaded.

- または --or- securityEvidence はあいまいではなく、正しくないと判断されました。The securityEvidence is not ambiguous and is determined to be invalid.

- または --or-

リモート アセンブリ内でコードを実行する機能が無効になっています。The ability to execute code in remote assemblies is disabled. <loadFromRemoteSources> を参照してください。See <loadFromRemoteSources>.

assemblyFile は有効なアセンブリではありません (64 ビット プロセスの 32 ビット アセンブリなど)。assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. 詳細については、例外に関するトピックを参照してください。See the exception topic for more information.

- または --or- 共通言語ランタイムのバージョン 2.0 以降が現在読み込まれています。assemblyFile は、より新しいバージョンでコンパイルされています。Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

"file://" で始まっていないコードベースが、必須の WebPermission なしで指定されました。A codebase that does not start with "file://" was specified without the required WebPermission.

assemblyFile パラメーターが空の文字列 ("") です。The assemblyFile parameter is an empty string ("").

アセンブリ名がシステム定義の最大長を超えています。The assembly name exceeds the system-defined maximum length.

注釈

assemblyFileパラメーターは、エスケープ文字のない URI に参照する必要があります。The assemblyFile parameter must refer to a URI without escape characters. このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。This method supplies escape characters for all invalid characters in the URI.

注意

ファイル転送プロトコル (FTP) はサポートされていません。File transfer protocol (FTP) is not supported. URI が指定されている場合assemblyFileFTP アドレスは、アセンブリが読み込まれていません。If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. 例外をスローすることはありません。No exception is thrown.

assemblyFile 絶対パスまたは現在のディレクトリに相対する可能性があります、アセンブリは、呼び出し元のドメインに読み込まれます。assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

アセンブリは、3 つのコンテキストのいずれかに読み込むことができるまたは、コンテキストなしで読み込むことができます。Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • 読み込みコンテキストに調査して見つかるアセンブリが含まれています。 GAC 内のホスト アセンブリで、ランタイムがホストされている場合または保存、ApplicationBasePrivateBinPathのアプリケーション ドメイン。The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. Load メソッドのほとんどのオーバーロードは、このコンテキストにアセンブリを読み込みます。Most overloads of the Load method load assemblies into this context.

  • 読み込み元コンテキストには、ユーザーが調査によって検索されたディレクトリに含まれていないパスを指定したアセンブリが含まれています。The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. LoadFromCreateInstanceFromExecuteAssembly は、パスを使用して読み込むメソッドの例です。LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    場合は、.NET Framework 4 以降の URI assemblyFile 、リモートの場所を指定します。 既定では、アセンブリの読み込みが無効になっているとLoadFromメソッドがスローされます、 FileLoadExceptionStarting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. リモートの場所から読み込まれたコードの実行を有効にするを使用できます、 <loadFromRemoteSources> 構成要素。To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • リフレクション専用コンテキストに読み込まれたアセンブリが含まれています、ReflectionOnlyLoadReflectionOnlyLoadFromメソッドはこれらのコードのコンテキストを実行することはできません。The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • ユーザーは、生成されたか、アセンブリが見つかりましたでない任意のコンテキスト。If the user generated or found the assembly, it is not in any context. これのオーバー ロードを使用して読み込まれたアセンブリに適用されます、Loadアセンブリを含むバイト配列を指定し、一時動的アセンブリがリフレクションを使用して作成するには、出力をディスクに保存せずメソッドをします。This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

読み込み元コンテキストには、調査には含まれないパスから読み込まれるアセンブリができ、そのパスを見つけ、パス情報がコンテキストによって保持されるため、読み込まれた依存関係ができます。The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFromメソッドには、次の欠点です。The LoadFrom method has the following disadvantages. 代わりに Load を使用することを検討してください。Consider using Load instead.

  • 同じ ID を持つアセンブリが既に読み込まれている場合、LoadFrom は、別のパスが指定されている場合であっても、読み込み済みのアセンブリを返します。If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • LoadFrom を使用してアセンブリを読み込んだ後、同じアセンブリを、読み込みコンテキストにあるアセンブリが表示名で読み込もうとすると、読み込みが失敗します。If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. この問題は、アセンブリが逆シリアル化されるときに発生します。This can occur when an assembly is deserialized.

  • アセンブリが読み込まれている場合LoadFrom、プローブ パスに同じ id が、別の場所でアセンブリが含まれています、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生することができます。If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • LoadFrom には、指定したパスに対する FileIOPermissionAccess.Read および FileIOPermissionAccess.PathDiscovery、または WebPermission が必要です。LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • ネイティブ イメージが存在する場合assemblyFileは使用されません。If a native image exists for assemblyFile, it is not used. アセンブリをドメインに中立として読み込まれたにすることはできません。The assembly cannot be loaded as domain neutral.

  • .NET framework version 1.0 および 1.1 では、ポリシーは適用されません。In the .NET Framework version 1.0 and 1.1, policy is not applied.

アセンブリに対して特定のアクセス許可を付与するかどうかは、証拠に基づいて決定されます。Whether certain permissions are granted or not granted to an assembly is based on evidence. アセンブリとマージのセキュリティ証拠の規則は次のとおりです。The rules for assembly and security evidence merging are as follows:

  • 使用すると、LoadFromなしでメソッドEvidenceパラメーター、アセンブリの表示はローダーが提供する証拠を使用して読み込まれます。When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • 使用すると、LoadFromメソッドをEvidenceパラメーターの証拠がマージされます。When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. 引数として指定された証拠、LoadFromメソッドは、ローダーによって提供される証拠の部分を置き換えます。Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • 共通言語ランタイムがスローしない場合は、同じアセンブリが異なる証拠を指定に、このメソッドを複数回呼び出す、FileLoadException異なる証拠仕様の整合性と等しいかどうかを判断できないためです。If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. 最初に成功した証拠は、使用される証拠です。The evidence that first succeeds is the evidence that is used.

  • 使用すると、LoadFromメソッドをByte[]common object file format (COFF) イメージ、証拠を読み込むパラメーターが組み合わされます。When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. ZoneUrlSiteは呼び出し元のアセンブリから継承されるとHashStrongNameCOFF アセンブリから取得されます。Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • 使用すると、LoadFromメソッドをByte[]パラメーターとEvidenceCOFF イメージを読み込むには、指定された証拠のみが使用されます。When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. 呼び出し元のアセンブリの証拠と COFF イメージの証拠が無視されます。Evidence of the calling assembly and evidence of the COFF image is ignored.

セキュリティ

SecurityPermission
証拠とアセンブリの読み込み。to load an assembly with evidence. 関連付けられた列挙体。 ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
file:// で始まる URI を読み取る。for reading a URI that begins with "file://". 関連付けられた列挙体。 ReadAssociated enumeration: Read

WebPermission
file:// で始まらないする URI を読み取る。for reading a URI that does not begin with "file://".

こちらもご覧ください

適用対象