AppDomain.ExecuteAssembly Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.