AppDomain.ExecuteAssembly Método

Definição

Executa o assembly contido no arquivo especificado.Executes the assembly contained in the specified file.

Sobrecargas

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

Executa o assembly contido no arquivo especificado usando a evidência, os argumentos, o valor de hash e o algoritmo de hash especificados.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence, String[])

Executa o assembly contido no arquivo especificado, usando a evidência e os argumentos especificados.Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

Executa o assembly contido no arquivo especificado usando os argumentos, o valor de hash e o algoritmo de hash especificados.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence)

Executa o assembly contido no arquivo especificado usando a evidência especificada.Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[])

Executa o assembly contido no arquivo especificado usando argumentos especificados.Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String)

Executa o assembly contido no arquivo especificado.Executes the assembly contained in the specified file.

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

Aviso

Esta API agora é obsoleta.

Executa o assembly contido no arquivo especificado usando a evidência, os argumentos, o valor de hash e o algoritmo de hash especificados.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

A evidência fornecida para o assembly.The supplied evidence for the assembly.

args
String[]

Os argumentos para o ponto de entrada do assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Representa o valor do código hash computado.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Representa o algoritmo de hash usado pelo manifesto do assembly.Represents the hash algorithm used by the assembly manifest.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value returned by the entry point of the assembly.

Atributos

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- A versão 2,0 ou posterior do Common Language Runtime está carregada e assemblyFile foi compilada com uma versão posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

assemblySecurity não é null.assemblySecurity is not null. Quando a política CAS herdada não está habilitada, assemblySecurity deve ser null.When legacy CAS policy is not enabled, assemblySecurity should be null.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Este método não cria um novo processo ou um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Segurança

SecurityPermission
para carregar um assembly com evidências.to load an assembly with evidence. Enumeração associada: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence, String[])

Aviso

Esta API agora é obsoleta.

Executa o assembly contido no arquivo especificado, usando a evidência e os argumentos especificados.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

A evidência fornecida para o assembly.The supplied evidence for the assembly.

args
String[]

Os argumentos para o ponto de entrada do assembly.The arguments to the entry point of the assembly.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value returned by the entry point of the assembly.

Implementações

Atributos

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- A versão 2,0 ou posterior do Common Language Runtime está carregada e assemblyFile foi compilada com uma versão posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

assemblySecurity não é null.assemblySecurity is not null. Quando a política CAS herdada não está habilitada, assemblySecurity deve ser null.When legacy CAS policy is not enabled, assemblySecurity should be null.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Este método não cria um novo processo ou um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Segurança

SecurityPermission
para carregar um assembly com evidências.to load an assembly with evidence. Enumeração associada: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

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

Executa o assembly contido no arquivo especificado usando os argumentos, o valor de hash e o algoritmo de hash especificados.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

args
String[]

Os argumentos para o ponto de entrada do assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Representa o valor do código hash computado.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Representa o algoritmo de hash usado pelo manifesto do assembly.Represents the hash algorithm used by the assembly manifest.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value that is returned by the entry point of the assembly.

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- assemblyFile foi compilado com uma versão posterior do Common Language Runtime do que a versão carregada atualmente.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Este método não cria um novo processo ou um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Segurança

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence)

Aviso

Esta API agora é obsoleta.

Executa o assembly contido no arquivo especificado usando a evidência especificada.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Evidência para carregar o assembly.Evidence for loading the assembly.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value returned by the entry point of the assembly.

Implementações

Atributos

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- A versão 2,0 ou posterior do Common Language Runtime está carregada e assemblyFile foi compilada com uma versão posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

O método ExecuteAssembly não cria um novo domínio de processo ou aplicativo e não executa o método de ponto de entrada em um novo thread.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.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Segurança

SecurityPermission
para carregar um assembly com evidências.to load an assembly with evidence. Enumeração associada: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, String[])

Executa o assembly contido no arquivo especificado usando argumentos especificados.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

args
String[]

Os argumentos para o ponto de entrada do assembly.The arguments to the entry point of the assembly.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value that is returned by the entry point of the assembly.

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- assemblyFile foi compilado com uma versão posterior do Common Language Runtime do que a versão carregada atualmente.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Este método não cria um novo processo ou um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Segurança

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String)

Executa o assembly contido no arquivo especificado.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

Parâmetros

assemblyFile
String

O nome do arquivo que contém o assembly a ser executado.The name of the file that contains the assembly to execute.

Retornos

O valor retornado pelo ponto de entrada do assembly.The value returned by the entry point of the assembly.

Implementações

Exceções

assemblyFile é null.assemblyFile is null.

assemblyFile não foi encontrado.assemblyFile is not found.

assemblyFile não é um assembly válido.assemblyFile is not a valid assembly.

- ou --or- A versão 2,0 ou posterior do Common Language Runtime está carregada e assemblyFile foi compilada com uma versão posterior.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

A operação é tentada em um domínio de aplicativo descarregado.The operation is attempted on an unloaded application domain.

Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.An assembly or module was loaded twice with two different evidences.

O assembly especificado não tem ponto de entrada.The specified assembly has no entry point.

Exemplos

O exemplo a seguir demonstra como usar uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.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

Comentários

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Este método não cria um novo processo ou um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Este método carrega assemblies usando o método LoadFile.This method loads assemblies using the LoadFile method. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Para criar o AppDomain para carregar e executar, use o método CreateDomain.To create the AppDomain to load and execute, use the CreateDomain method.

Segurança

FileIOPermission
para acesso de leitura de um arquivo ou um diretório, e para acesso às informações no próprio caminho.for access to read from a file or directory, and for access to the information in the path itself. Enumerações associadas: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
para ler um URI que não começa com "file://".for reading a URI that does not begin with "file://".

UIPermission
para executar um aplicativo de console.to execute a console application. Enumeração associada: Unrestricted.Associated enumeration: Unrestricted.

Aplica-se a