AppDomain.ExecuteAssembly Método

Definição

Executa o assembly contido no ficheiro especificado.

Sobrecargas

Name Description
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Obsoleto.

Executa o assembly contido no ficheiro especificado, usando a evidência, argumentos, valor de hash e algoritmo de hash especificados.

ExecuteAssembly(String, Evidence, String[])
Obsoleto.

Executa o assembly contido no ficheiro especificado, usando as evidências e argumentos especificados.

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

Executa o assembly contido no ficheiro especificado, usando os argumentos especificados, o valor de hash e o algoritmo de hash.

ExecuteAssembly(String, Evidence)
Obsoleto.

Executa a montagem contida no ficheiro especificado, usando a evidência especificada.

ExecuteAssembly(String, String[])

Executa o assembly contido no ficheiro especificado, usando os argumentos especificados.

ExecuteAssembly(String)

Executa o assembly contido no ficheiro especificado.

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

Atenção

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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Executa o assembly contido no ficheiro especificado, usando a evidência, argumentos, valor de hash e algoritmo de hash especificados.

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);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[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 http://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
[<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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
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 ficheiro que contém o assembly a executar.

assemblySecurity
Evidence

As provas fornecidas para a assembleia.

args
String[]

Os argumentos até ao ponto de entrada da assembleia.

hashValue
Byte[]

Representa o valor do código de hash calculado.

hashAlgorithm
AssemblyHashAlgorithm

Representa o algoritmo de hash usado pelo manifesto assembly.

Devoluções

O valor devolvido pelo ponto de entrada do conjunto.

Atributos

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblySecurity não nullé . Quando a política CAS legada não está ativada, assemblySecurity deve ser null.

O conjunto especificado não tem ponto de entrada.

Aplica-se a

ExecuteAssembly(String, Evidence, String[])

Atenção

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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Executa o assembly contido no ficheiro especificado, usando as evidências e argumentos especificados.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
[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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
[<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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override 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 ficheiro que contém o assembly a executar.

assemblySecurity
Evidence

As provas fornecidas para a assembleia.

args
String[]

Os argumentos até ao ponto de entrada da assembleia.

Devoluções

O valor devolvido pelo ponto de entrada do conjunto.

Implementações

Atributos

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

assemblySecurity não nullé . Quando a política CAS legada não está ativada, assemblySecurity deve ser null.

O conjunto especificado não tem ponto de entrada.

Aplica-se a

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

Executa o assembly contido no ficheiro especificado, usando os argumentos especificados, o valor de hash e o algoritmo de hash.

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 ficheiro que contém o assembly a executar.

args
String[]

Os argumentos até ao ponto de entrada da assembleia.

hashValue
Byte[]

Representa o valor do código de hash calculado.

hashAlgorithm
AssemblyHashAlgorithm

Representa o algoritmo de hash usado pelo manifesto assembly.

Devoluções

O valor que é devolvido pelo ponto de entrada do conjunto.

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

O conjunto especificado não tem ponto de entrada.

Aplica-se a

ExecuteAssembly(String, Evidence)

Atenção

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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Executa a montagem contida no ficheiro especificado, usando a evidência especificada.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
[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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
[<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 http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override 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 ficheiro que contém o assembly a executar.

assemblySecurity
Evidence

Provas para carregar a assembleia.

Devoluções

O valor devolvido pelo ponto de entrada do conjunto.

Implementações

Atributos

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

O conjunto especificado não tem ponto de entrada.

Aplica-se a

ExecuteAssembly(String, String[])

Executa o assembly contido no ficheiro especificado, usando os argumentos especificados.

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 ficheiro que contém o assembly a executar.

args
String[]

Os argumentos até ao ponto de entrada da assembleia.

Devoluções

O valor que é devolvido pelo ponto de entrada do conjunto.

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

O conjunto especificado não tem ponto de entrada.

Exemplos

O exemplo seguinte demonstra o uso de uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.

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 ExecuteAssemblySnippet {
   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"
   }
}
open System

let currentDomain = AppDomain.CurrentDomain
let 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

Observações

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.

Este método não cria um novo processo ou domínio de aplicação, nem executa o método de ponto de entrada numa nova thread.

Este método carrega os assemblies usando o LoadFile método. Também pode executar assemblies usando o ExecuteAssemblyByName método, que carrega assemblies usando o Load método.

Aplica-se a

ExecuteAssembly(String)

Executa o assembly contido no ficheiro especificado.

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

Parâmetros

assemblyFile
String

O nome do ficheiro que contém o assembly a executar.

Devoluções

O valor devolvido pelo ponto de entrada do conjunto.

Implementações

Exceções

assemblyFile é null.

assemblyFile não foi encontrado.

assemblyFile não é uma assembly válida para o runtime atualmente carregado.

A operação é tentada num domínio de aplicação não carregado.

Um conjunto ou módulo foi carregado duas vezes com duas evidências diferentes.

O conjunto especificado não tem ponto de entrada.

Exemplos

O exemplo seguinte demonstra o uso de uma das sobrecargas de ExecuteAssembly em dois domínios diferentes.

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 ExecuteAssemblySnippet {
   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"
   }
}
open System

let currentDomain = AppDomain.CurrentDomain
let 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

Observações

O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.

Este método não cria um novo processo ou domínio de aplicação, nem executa o método de ponto de entrada numa nova thread.

Este método carrega os assemblies usando o LoadFile método. Também pode executar assemblies usando o ExecuteAssemblyByName método, que carrega assemblies usando o Load método.

Para criar o AppDomain para carregar e executar, use o CreateDomain método.

Aplica-se a