AppDomain.ExecuteAssembly メソッド

定義

指定したファイルに格納されているアセンブリを実行します。Executes the assembly contained in the specified file.

オーバーロード

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

指定したファイルに格納されているアセンブリを、指定した証拠、引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence, String[])

指定したファイルに格納されているアセンブリを、指定した証拠と引数を使用して実行します。Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

指定したファイルに格納されているアセンブリを、指定した引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence)

指定したファイルに格納されているアセンブリを、指定した証拠を使用して実行します。Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[])

指定したファイルに格納されているアセンブリを、指定した引数を使用して実行します。Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String)

指定したファイルに格納されているアセンブリを実行します。Executes the assembly contained in the specified file.

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

警告

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

指定したファイルに格納されているアセンブリを、指定した証拠、引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

アセンブリに指定する証拠。The supplied evidence for the assembly.

args
String[]

アセンブリのエントリ ポイントに渡す引数。The arguments to the entry point of the assembly.

hashValue
Byte[]

計算されたハッシュ コードの値を表します。Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

アセンブリ マニフェストが使用するハッシュ アルゴリズムを表します。Represents the hash algorithm used by the assembly manifest.

戻り値

アセンブリのエントリ ポイントが返す値。The value returned by the entry point of the assembly.

属性

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

- または --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.

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

assemblySecuritynull ではありません。assemblySecurity is not null. レガシ CAS ポリシーが有効でない場合は、 assemblySecuritynullにする必要があります。When legacy CAS policy is not enabled, assemblySecurity should be null.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

このメソッドは、新しいプロセスまたはアプリケーションドメインを作成するのではなく、新しいスレッドでエントリポイントメソッドを実行しません。This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

セキュリティ

SecurityPermission
証拠を使用してアセンブリを読み込む場合は。to load an assembly with evidence. ControlEvidence (関連する列挙体)Associated enumeration: ControlEvidence.

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence, String[])

警告

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

指定したファイルに格納されているアセンブリを、指定した証拠と引数を使用して実行します。Executes the assembly contained in the specified file, using the specified evidence and arguments.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String()) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

アセンブリに指定する証拠。The supplied evidence for the assembly.

args
String[]

アセンブリのエントリ ポイントに渡す引数。The arguments to the entry point of the assembly.

戻り値

アセンブリのエントリ ポイントが返す値。The value returned by the entry point of the assembly.

実装

属性

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

- または --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.

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

assemblySecuritynull ではありません。assemblySecurity is not null. レガシ CAS ポリシーが有効でない場合は、 assemblySecuritynullにする必要があります。When legacy CAS policy is not enabled, assemblySecurity should be null.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

このメソッドは、新しいプロセスまたはアプリケーションドメインを作成するのではなく、新しいスレッドでエントリポイントメソッドを実行しません。This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

セキュリティ

SecurityPermission
証拠を使用してアセンブリを読み込む場合は。to load an assembly with evidence. ControlEvidence (関連する列挙体)Associated enumeration: ControlEvidence.

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

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

指定したファイルに格納されているアセンブリを、指定した引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public int ExecuteAssembly (string assemblyFile, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
Public Function ExecuteAssembly (assemblyFile As String, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

args
String[]

アセンブリのエントリ ポイントに渡す引数。The arguments to the entry point of the assembly.

hashValue
Byte[]

計算されたハッシュ コードの値を表します。Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

アセンブリ マニフェストが使用するハッシュ アルゴリズムを表します。Represents the hash algorithm used by the assembly manifest.

戻り値

アセンブリのエントリ ポイントから返された値。The value that is returned by the entry point of the assembly.

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

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

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

このメソッドは、新しいプロセスまたはアプリケーションドメインを作成するのではなく、新しいスレッドでエントリポイントメソッドを実行しません。This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

セキュリティ

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence)

警告

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

指定したファイルに格納されているアセンブリを、指定した証拠を使用して実行します。Executes the assembly contained in the specified file, using the specified evidence.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
member this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

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

戻り値

アセンブリのエントリ ポイントが返す値。The value returned by the entry point of the assembly.

実装

属性

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

- または --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.

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

ExecuteAssembly メソッドでは、新しいプロセスまたはアプリケーションドメインは作成されず、新しいスレッドでエントリポイントメソッドは実行されません。The ExecuteAssembly method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

セキュリティ

SecurityPermission
証拠を使用してアセンブリを読み込む場合は。to load an assembly with evidence. ControlEvidence (関連する列挙体)Associated enumeration: ControlEvidence.

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

ExecuteAssembly(String, String[])

指定したファイルに格納されているアセンブリを、指定した引数を使用して実行します。Executes the assembly contained in the specified file, using the specified arguments.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args);
public int ExecuteAssembly (string assemblyFile, string[] args);
member this.ExecuteAssembly : string * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, args As String()) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

args
String[]

アセンブリのエントリ ポイントに渡す引数。The arguments to the entry point of the assembly.

戻り値

アセンブリのエントリ ポイントから返された値。The value that is returned by the entry point of the assembly.

例外

assemblyFilenullです。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

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

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

このメソッドは、新しいプロセスまたはアプリケーションドメインを作成するのではなく、新しいスレッドでエントリポイントメソッドを実行しません。This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

セキュリティ

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

ExecuteAssembly(String)

指定したファイルに格納されているアセンブリを実行します。Executes the assembly contained in the specified file.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile);
public int ExecuteAssembly (string assemblyFile);
abstract member ExecuteAssembly : string -> int
override this.ExecuteAssembly : string -> int
Public Function ExecuteAssembly (assemblyFile As String) As Integer

パラメーター

assemblyFile
String

実行するアセンブリが格納されているファイルの名前。The name of the file that contains the assembly to execute.

戻り値

アセンブリのエントリ ポイントが返す値。The value returned by the entry point of the assembly.

実装

例外

assemblyFilenull です。assemblyFile is null.

assemblyFile が見つかりません。assemblyFile is not found.

assemblyFile は正しいアセンブリではありません。assemblyFile is not a valid assembly.

- または --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.

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

アセンブリまたはモジュールが、2 つの異なる証拠を使用して 2 回読み込まれました。An assembly or module was loaded twice with two different evidences.

指定したアセンブリには、エントリ ポイントがありません。The specified assembly has no entry point.

次の例では、2つの異なるドメイン上の ExecuteAssembly のいずれかのオーバーロードを使用する方法を示します。The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}

class Test {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
      
      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

注釈

アセンブリは、.NET Framework ヘッダーで指定されたエントリポイントで実行を開始します。The assembly begins executing at the entry point specified in the .NET Framework header.

このメソッドは、新しいプロセスまたはアプリケーションドメインを作成するのではなく、新しいスレッドでエントリポイントメソッドを実行しません。This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

このメソッドは、LoadFile メソッドを使用してアセンブリを読み込みます。This method loads assemblies using the LoadFile method. また、ExecuteAssemblyByName メソッドを使用してアセンブリを実行することもできます。このメソッドは、Load メソッドを使用してアセンブリを読み込みます。You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

読み込みと実行の AppDomain を作成するには、CreateDomain メソッドを使用します。To create the AppDomain to load and execute, use the CreateDomain method.

セキュリティ

FileIOPermission
ファイルまたはディレクトリから読み取るアクセス許可、およびパス自体の情報にアクセスするための。for access to read from a file or directory, and for access to the information in the path itself. 関連付けられた列挙型: ReadPathDiscoveryAssociated enumerations: Read, PathDiscovery.

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

UIPermission
コンソールアプリケーションを実行します。to execute a console application. Unrestricted (関連する列挙体)Associated enumeration: Unrestricted.

適用対象