次の方法で共有


Assembly.LoadFrom メソッド

定義

アセンブリを読み込みます。

オーバーロード

名前 説明
LoadFrom(String, Byte[], AssemblyHashAlgorithm)
古い.

ファイル名またはパス、ハッシュ値、ハッシュ アルゴリズムを指定してアセンブリを読み込みます。

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)
古い.

ファイル名またはパス、セキュリティ証拠、ハッシュ値、ハッシュ アルゴリズムを指定してアセンブリを読み込みます。

LoadFrom(String)

ファイル名またはパスを指定してアセンブリを読み込みます。

LoadFrom(String, Evidence)
古い.

ファイル名またはパスを指定し、セキュリティ証拠を指定してアセンブリを読み込みます。

注釈

.NET Framework のみ: リモートの場所からアセンブリを読み込む方法については、 <loadFromRemoteSources> を参照してください。

LoadFrom(String, Byte[], AssemblyHashAlgorithm)

ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs

注意事項

LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.

ファイル名またはパス、ハッシュ値、ハッシュ アルゴリズムを指定してアセンブリを読み込みます。

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<System.Obsolete("LoadFrom with a custom AssemblyHashAlgorithm is obsolete. Use overloads without an AssemblyHashAlgorithm.", DiagnosticId="SYSLIB0056", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
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

アセンブリのマニフェストを含むファイルの名前またはパス。

hashValue
Byte[]

計算されたハッシュ コードの値。

hashAlgorithm
AssemblyHashAlgorithm

ファイルのハッシュと厳密な名前の生成に使用されるハッシュ アルゴリズム。

返品

読み込まれたアセンブリ。

属性

例外

.NET Core と .NET 5 以降のみ: すべての場合。

assemblyFilenullです。

assemblyFile が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

見つかったファイルを読み込めませんでした。

-又は-

assemblyFile は、 <loadFromRemoteSources> に基づいて無効になっている場所を指定します。

assemblyFile は、現在読み込まれているランタイムの有効なアセンブリではありません。たとえば、64 ビット プロセスの 32 ビット アセンブリなどです。

"file://" で始まらないコードベースが、必要な WebPermissionなしで指定されました。

assemblyFile パラメーターは空の文字列 ("") です。

アセンブリ名がシステム定義の最大長を超えています。

注釈

この API は、.NET Core/.NET 5 以降ではサポートされていません。 このメソッドは、呼び出されたときに NotSupportedException をスローします。 LoadFrom(String) を代わりに使用します。

assemblyFile パラメーターは、エスケープ文字のない URI を参照する必要があります。 このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。

ファイル転送プロトコル (FTP) はサポートされていません。 assemblyFileに指定された URI が FTP アドレスの場合、アセンブリは読み込まれません。 例外はスローされません。

assemblyFile は、絶対または現在のディレクトリに対する相対パスにすることができます。

アセンブリは、次の 3 つのコンテキストのいずれかに読み込むことができます。また、コンテキストなしで読み込むことができます。

  • 読み込みコンテキストには、グローバル アセンブリ キャッシュ、ランタイムがホストされている場合はホスト アセンブリ ストア、またはアプリケーション ドメインの ApplicationBasePrivateBinPath で、プローブによって検出されたアセンブリが含まれます。 Load メソッドのほとんどのオーバーロードは、アセンブリをこのコンテキストに読み込みます。

  • 読み込み元コンテキストには、ユーザーがプローブに含まれていないパスを指定したアセンブリが含まれています。 LoadFromCreateInstanceFrom、および ExecuteAssembly は、パスによって読み込まれるメソッドの例です。

    リモートの場所からアセンブリを読み込む方法については、 <loadFromRemoteSources> を参照してください。

  • リフレクションのみのコンテキストには、 ReflectionOnlyLoad メソッドと ReflectionOnlyLoadFrom メソッドで読み込まれたアセンブリが含まれています。これらのコンテキスト内のコードは実行できません。

  • ユーザーがアセンブリを生成または見つけた場合は、どのコンテキストにも含まれません。 これは、アセンブリを含むバイト配列を指定する Load メソッドのオーバーロードを使用して読み込まれたアセンブリ、およびリフレクション出力で作成され、ディスクに保存されない一時的な動的アセンブリに適用されます。

読み込みからコンテキストを使用すると、プローブに含まれていないパスからアセンブリを読み込むことができますが、パス情報がコンテキストによって維持されるため、そのパスへの依存関係を見つけて読み込むことができます。

LoadFromメソッドには、次の欠点があります。 代わりに Load を使用することを検討してください。

  • 同じ ID を持つアセンブリが既に読み込まれている場合、 LoadFrom は、別のパスが指定されている場合でも、読み込まれたアセンブリを返します。

  • アセンブリが LoadFromで読み込まれ、その後、読み込みコンテキスト内のアセンブリが表示名で同じアセンブリを読み込もうとすると、読み込み試行は失敗します。 これは、アセンブリが逆シリアル化されるときに発生する可能性があります。

  • アセンブリが LoadFromで読み込まれ、プローブ パスに同じ ID を持つアセンブリが含まれているが、場所が異なる場合は、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生する可能性があります。

  • LoadFromは、指定したパスFileIOPermissionAccess.ReadFileIOPermissionAccess.PathDiscoveryまたはWebPermissionを要求します。

  • assemblyFileのネイティブ イメージが存在する場合は使用されません。 アセンブリをドメインニュートラルとして読み込むことができません。

アセンブリには、ローダーが提供する証拠が読み込まれます。

適用対象

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

注意事項

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(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[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
[<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.")>]
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

アセンブリのマニフェストを含むファイルの名前またはパス。

securityEvidence
Evidence

アセンブリを読み込むための証拠。

hashValue
Byte[]

計算されたハッシュ コードの値。

hashAlgorithm
AssemblyHashAlgorithm

ファイルのハッシュと厳密な名前の生成に使用されるハッシュ アルゴリズム。

返品

読み込まれたアセンブリ。

属性

例外

assemblyFilenullです。

assemblyFile が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

見つかったファイルを読み込めませんでした。

-又は-

securityEvidenceはあいまいではなく、無効であると判断されます。

-又は-

assemblyFile は、 <loadFromRemoteSources> に基づいて無効になっている場所を指定します。

assemblyFile は、現在読み込まれているランタイムの有効なアセンブリではありません。たとえば、64 ビット プロセスの 32 ビット アセンブリなどです。

"file://" で始まらないコードベースが、必要な WebPermissionなしで指定されました。

assemblyFile パラメーターは空の文字列 ("") です。

アセンブリ名がシステム定義の最大長を超えています。

注釈

assemblyFile パラメーターは、エスケープ文字のない URI を参照する必要があります。 このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。

ファイル転送プロトコル (FTP) はサポートされていません。 assemblyFileに指定された URI が FTP アドレスの場合、アセンブリは読み込まれません。 例外はスローされません。

assemblyFile は、絶対または現在のディレクトリに対する相対パスにすることができます。

アセンブリは、次の 3 つのコンテキストのいずれかに読み込むことができます。また、コンテキストなしで読み込むことができます。

  • 読み込みコンテキストには、プローブによって検出されたアセンブリが含まれます。GAC 内、ランタイムがホストされている場合はホスト アセンブリ ストア内、またはアプリケーション ドメインの ApplicationBasePrivateBinPathLoad メソッドのほとんどのオーバーロードは、アセンブリをこのコンテキストに読み込みます。

  • 読み込み元コンテキストには、プローブによって検索されたディレクトリに含まれていないパスをユーザーが指定したアセンブリが含まれています。 LoadFromCreateInstanceFrom、および ExecuteAssembly は、パスによって読み込まれるメソッドの例です。

    リモートの場所からアセンブリを読み込む方法については、 <loadFromRemoteSources> を参照してください。

  • リフレクションのみのコンテキストには、 ReflectionOnlyLoad メソッドと ReflectionOnlyLoadFrom メソッドで読み込まれたアセンブリが含まれています。これらのコンテキスト内のコードは実行できません。

  • ユーザーがアセンブリを生成または見つけた場合は、どのコンテキストにも含まれません。 これは、アセンブリを含むバイト配列を指定する Load メソッドのオーバーロードを使用して読み込まれたアセンブリ、およびリフレクション出力で作成され、ディスクに保存されない一時的な動的アセンブリに適用されます。

読み込みからコンテキストを使用すると、プローブに含まれていないパスからアセンブリを読み込むことができますが、パス情報がコンテキストによって維持されるため、そのパスへの依存関係を見つけて読み込むことができます。

LoadFromメソッドには、次の欠点があります。 代わりに Load を使用することを検討してください。

  • 同じ ID を持つアセンブリが既に読み込まれている場合、 LoadFrom は、別のパスが指定されている場合でも、読み込まれたアセンブリを返します。

  • アセンブリが LoadFromで読み込まれ、その後、読み込みコンテキスト内のアセンブリが表示名で同じアセンブリを読み込もうとすると、読み込み試行は失敗します。 これは、アセンブリが逆シリアル化されるときに発生する可能性があります。

  • アセンブリが LoadFromで読み込まれ、プローブ パスに同じ ID を持つアセンブリが含まれているが、場所が異なる場合は、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生する可能性があります。

  • LoadFromは、指定したパスFileIOPermissionAccess.ReadFileIOPermissionAccess.PathDiscoveryまたはWebPermissionを要求します。

  • assemblyFileのネイティブ イメージが存在する場合は使用されません。 アセンブリをドメインニュートラルとして読み込むことができません。

アセンブリに対して特定の権限が付与されているかどうかは、証拠に基づいています。 アセンブリとセキュリティ証拠のマージの規則は次のとおりです。

  • LoadFrom パラメーターを指定しないEvidence メソッドを使用すると、ローダーが提供する証拠がアセンブリに読み込まれます。

  • LoadFrom パラメーターで Evidence メソッドを使用すると、証拠の一部がマージされます。 LoadFromメソッドの引数として提供される証拠の一部は、ローダーによって提供される証拠の一部よりも優先されます。

  • 同じアセンブリでこのメソッドを複数回呼び出したが、異なる証拠が指定されている場合、共通言語ランタイムは、異なる証拠仕様の等価性と整合性を判断できないため、 FileLoadException をスローしません。 最初に成功する証拠は、使用される証拠です。

  • Byte[] パラメーターを指定して LoadFrom メソッドを使用して共通オブジェクト ファイル形式 (COFF) イメージを読み込むと、証拠が結合されます。 ZoneUrl および Site は呼び出し元アセンブリから継承され、 HashStrongName は COFF アセンブリから取得されます。

  • LoadFrom パラメーターとByte[]を指定して Evidence メソッドを使用して COFF イメージを読み込む場合、指定された証拠のみが使用されます。 呼び出し元アセンブリの証拠と COFF イメージの証拠は無視されます。

適用対象

LoadFrom(String)

ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs
ソース:
Assembly.cs

ファイル名またはパスを指定してアセンブリを読み込みます。

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
public static System.Reflection.Assembly LoadFrom(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
static member LoadFrom : string -> System.Reflection.Assembly
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly

パラメーター

assemblyFile
String

アセンブリのマニフェストを含むファイルの名前またはパス。

返品

読み込まれたアセンブリ。

属性

例外

assemblyFilenullです。

assemblyFile が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

見つかったファイルを読み込めませんでした。

-又は-

.NET Framework のみ: assemblyFile は、 <loadFromRemoteSources> に基づいて無効にする場所を指定します。

assemblyFile は、現在読み込まれているランタイムの有効なアセンブリではありません。たとえば、64 ビット プロセスの 32 ビット アセンブリなどです。

"file://" で始まらないコードベースが、必要な WebPermissionなしで指定されました。

assemblyFile パラメーターは空の文字列 ("") です。

アセンブリ名がシステム定義の最大長を超えています。

次の例では、ファイル名またはパスを指定してアセンブリを読み込みます。

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

注釈

この API は互換性のために .NET Core に存在しますが、代わりに AssemblyLoadContext オーバーロードを使用することをお勧めします。

アセンブリは既定の AssemblyLoadContext に読み込まれます。 アセンブリの読み込みの詳細については、「 マネージド アセンブリ読み込みアルゴリズム」を参照してください。

assemblyFile パラメーターは、エスケープ文字のない URI を参照する必要があります。 このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。

.NET Framework のみ: ファイル転送プロトコル (FTP) はサポートされていません。 assemblyFileに指定された URI が FTP アドレスの場合、アセンブリは読み込まれません。 例外はスローされません。

assemblyFile は、現在のディレクトリに対して絶対または相対である可能性があります。

.NET Framework のみ: アセンブリは、次の 3 つのコンテキストのいずれかに読み込むことができます。また、コンテキストなしで読み込むことができます。

  • 読み込みコンテキストには、プローブによって検出されたアセンブリが含まれます。GAC 内、ランタイムがホストされている場合はホスト アセンブリ ストア内、またはアプリケーション ドメインの ApplicationBasePrivateBinPathLoad メソッドのほとんどのオーバーロードは、アセンブリをこのコンテキストに読み込みます。

  • 読み込み元コンテキストには、プローブによって検索されたディレクトリに含まれていないパスをユーザーが指定したアセンブリが含まれています。 また、パス情報がコンテキストによって維持されるため、そのパスに対する依存関係を見つけて読み込むこともできます。 LoadFromCreateInstanceFrom、および ExecuteAssembly は、パスによって読み込まれるメソッドの例です。

    リモートの場所からアセンブリを読み込む方法については、 <loadFromRemoteSources> を参照してください。

  • リフレクションのみのコンテキストには、 ReflectionOnlyLoad メソッドと ReflectionOnlyLoadFrom メソッドで読み込まれたアセンブリが含まれています。これらのコンテキスト内のコードは実行できません。

  • ユーザーがアセンブリを生成または見つけた場合は、どのコンテキストにも含まれません。 これは、アセンブリを含むバイト配列を指定する Load メソッドのオーバーロードを使用して読み込まれたアセンブリ、およびリフレクション出力で作成され、ディスクに保存されない一時的な動的アセンブリに適用されます。

LoadFromメソッドには、次の欠点があります。 代わりに Load を使用することを検討してください。

  • 同じ ID を持つアセンブリが既に読み込みコンテキストに読み込まれている場合、 LoadFrom は、別のパスが指定されている場合でも、読み込まれたアセンブリを返します。

  • 同じ ID を持つアセンブリが読み込みコンテキストに存在する場合でも、アセンブリは読み込みからコンテキストに読み込むことができます。 2 つのアセンブリ間の相互運用性は機能せず、 InvalidCastExceptionMissingMethodException、その他の予期しない動作などのエラーが発生します。

  • プローブ パス内の場所で LoadFrom を呼び出すと、読み込み元コンテキストではなく、読み込みコンテキストでアセンブリが読み込まれます。

  • バインド リダイレクト ポリシーによって ID が goverened されたアセンブリ ファイルが LoadFromに渡された場合、ポリシーが適用され、読み込みコンテキストのプローブ パスからアセンブリが読み込まれます。

  • アセンブリが読み込みからコンテキストに読み込まれ、その後、読み込みコンテキスト内のアセンブリが表示名で同じアセンブリを読み込もうとすると、読み込み試行は失敗します。 これは、アセンブリが逆シリアル化されるときに発生する可能性があります。

  • LoadFromは、指定したパスFileIOPermissionAccess.ReadFileIOPermissionAccess.PathDiscoveryまたはWebPermissionを要求します。

  • assemblyFileのネイティブ イメージが存在する場合は使用されません。 アセンブリをドメインニュートラルとして読み込むことができません。

適用対象

LoadFrom(String, Evidence)

注意事項

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(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
public static System.Reflection.Assembly LoadFrom(string assemblyFile, System.Security.Policy.Evidence securityEvidence);
[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
[<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.")>]
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

アセンブリのマニフェストを含むファイルの名前またはパス。

securityEvidence
Evidence

アセンブリを読み込むための証拠。

返品

読み込まれたアセンブリ。

属性

例外

assemblyFilenullです。

assemblyFile が見つからないか、読み込もうとしているモジュールでファイル名拡張子が指定されていません。

見つかったファイルを読み込めませんでした。

-又は-

securityEvidenceはあいまいではなく、無効であると判断されます。

-又は-

assemblyFile は、 <loadFromRemoteSources> に基づいて無効になっている場所を指定します。

assemblyFile は、現在読み込まれているランタイムの有効なアセンブリではありません。たとえば、64 ビット プロセスの 32 ビット アセンブリなどです。

"file://" で始まらないコードベースが、必要な WebPermissionなしで指定されました。

assemblyFile パラメーターは空の文字列 ("") です。

アセンブリ名がシステム定義の最大長を超えています。

注釈

assemblyFile パラメーターは、エスケープ文字のない URI を参照する必要があります。 このメソッドは、URI 内のすべての無効な文字のエスケープ文字を提供します。

ファイル転送プロトコル (FTP) はサポートされていません。 assemblyFileに指定された URI が FTP アドレスの場合、アセンブリは読み込まれません。 例外はスローされません。

assemblyFile は、絶対または現在のディレクトリに対する相対パスにすることができます。

アセンブリは、次の 3 つのコンテキストのいずれかに読み込むことができます。また、コンテキストなしで読み込むことができます。

  • 読み込みコンテキストには、プローブによって検出されたアセンブリが含まれます。GAC 内、ランタイムがホストされている場合はホスト アセンブリ ストア内、またはアプリケーション ドメインの ApplicationBasePrivateBinPathLoad メソッドのほとんどのオーバーロードは、アセンブリをこのコンテキストに読み込みます。

  • 読み込み元コンテキストには、プローブによって検索されたディレクトリに含まれていないパスをユーザーが指定したアセンブリが含まれています。 LoadFromCreateInstanceFrom、および ExecuteAssembly は、パスによって読み込まれるメソッドの例です。

    リモートの場所からアセンブリを読み込む方法については、 <loadFromRemoteSources> を参照してください。

  • リフレクションのみのコンテキストには、 ReflectionOnlyLoad メソッドと ReflectionOnlyLoadFrom メソッドで読み込まれたアセンブリが含まれています。これらのコンテキスト内のコードは実行できません。

  • ユーザーがアセンブリを生成または見つけた場合は、どのコンテキストにも含まれません。 これは、アセンブリを含むバイト配列を指定する Load メソッドのオーバーロードを使用して読み込まれたアセンブリ、およびリフレクション出力で作成され、ディスクに保存されない一時的な動的アセンブリに適用されます。

読み込みからコンテキストを使用すると、プローブに含まれていないパスからアセンブリを読み込むことができますが、パス情報がコンテキストによって維持されるため、そのパスへの依存関係を見つけて読み込むことができます。

LoadFromメソッドには、次の欠点があります。 代わりに Load を使用することを検討してください。

  • 同じ ID を持つアセンブリが既に読み込まれている場合、 LoadFrom は、別のパスが指定されている場合でも、読み込まれたアセンブリを返します。

  • アセンブリが LoadFromで読み込まれ、その後、読み込みコンテキスト内のアセンブリが表示名で同じアセンブリを読み込もうとすると、読み込み試行は失敗します。 これは、アセンブリが逆シリアル化されるときに発生する可能性があります。

  • アセンブリが LoadFromで読み込まれ、プローブ パスに同じ ID を持つアセンブリが含まれているが、場所が異なる場合は、 InvalidCastExceptionMissingMethodException、またはその他の予期しない動作が発生する可能性があります。

  • LoadFromは、指定したパスFileIOPermissionAccess.ReadFileIOPermissionAccess.PathDiscoveryまたはWebPermissionを要求します。

  • assemblyFileのネイティブ イメージが存在する場合は使用されません。 アセンブリをドメインニュートラルとして読み込むことができません。

アセンブリに対して特定の権限が付与されているかどうかは、証拠に基づいています。 アセンブリとセキュリティ証拠のマージの規則は次のとおりです。

  • LoadFrom パラメーターを指定しないEvidence メソッドを使用すると、ローダーが提供する証拠がアセンブリに読み込まれます。

  • LoadFrom パラメーターで Evidence メソッドを使用すると、証拠の一部がマージされます。 LoadFromメソッドの引数として提供される証拠の一部は、ローダーによって提供される証拠の一部よりも優先されます。

  • 同じアセンブリでこのメソッドを複数回呼び出したが、異なる証拠が指定されている場合、共通言語ランタイムは、異なる証拠仕様の等価性と整合性を判断できないため、 FileLoadException をスローしません。 最初に成功する証拠は、使用される証拠です。

  • Byte[] パラメーターを指定して LoadFrom メソッドを使用して共通オブジェクト ファイル形式 (COFF) イメージを読み込むと、証拠が結合されます。 ZoneUrl および Site は呼び出し元アセンブリから継承され、 HashStrongName は COFF アセンブリから取得されます。

  • LoadFrom パラメーターとByte[]を指定して Evidence メソッドを使用して COFF イメージを読み込む場合、指定された証拠のみが使用されます。 呼び出し元アセンブリの証拠と COFF イメージの証拠は無視されます。

こちらもご覧ください

適用対象