AppDomain.ExecuteAssembly Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa o assembly contido no arquivo especificado.
Sobrecargas
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm) |
Obsoleto.
Executa o assembly contido no arquivo especificado usando a evidência, os argumentos, o valor de hash e o algoritmo de hash especificados. |
ExecuteAssembly(String, Evidence, String[]) |
Obsoleto.
Executa o assembly contido no arquivo especificado, usando a evidência e os argumentos especificados. |
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) |
Obsoleto.
Executa o assembly contido no arquivo especificado usando os argumentos, o valor de hash e o algoritmo de hash especificados. |
ExecuteAssembly(String, Evidence) |
Obsoleto.
Executa o assembly contido no arquivo especificado usando a evidência especificada. |
ExecuteAssembly(String, String[]) |
Executa o assembly contido no arquivo especificado usando argumentos especificados. |
ExecuteAssembly(String) |
Executa o assembly contido no arquivo especificado. |
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Cuidado
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 arquivo especificado usando a evidência, os argumentos, o valor de hash e o 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 arquivo que contém o assembly a ser executado.
- assemblySecurity
- Evidence
A evidência fornecida para o assembly.
- args
- String[]
Os argumentos para o ponto de entrada do assembly.
- hashValue
- Byte[]
Representa o valor do código hash computado.
- hashAlgorithm
- AssemblyHashAlgorithm
Representa o algoritmo de hash usado pelo manifesto do assembly.
Retornos
O valor retornado pelo ponto de entrada do assembly.
- Atributos
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
assemblySecurity
não é null
. Quando a política CAS herdada não está habilitada, assemblySecurity
deve ser null
.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
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 um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Aplica-se a
ExecuteAssembly(String, Evidence, String[])
Cuidado
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 arquivo especificado, usando a evidência e os 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 arquivo que contém o assembly a ser executado.
- assemblySecurity
- Evidence
A evidência fornecida para o assembly.
- args
- String[]
Os argumentos para o ponto de entrada do assembly.
Retornos
O valor retornado pelo ponto de entrada do assembly.
Implementações
- Atributos
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
assemblySecurity
não é null
. Quando a política CAS herdada não está habilitada, assemblySecurity
deve ser null
.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
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 um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Aplica-se a
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
Cuidado
Code Access Security is not supported or honored by the runtime.
Executa o assembly contido no arquivo especificado usando os argumentos, o valor de hash e o algoritmo de hash especificados.
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);
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public int ExecuteAssembly (string assemblyFile, string?[]? args, 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
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
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.
- args
- String[]
Os argumentos para o ponto de entrada do assembly.
- hashValue
- Byte[]
Representa o valor do código hash computado.
- hashAlgorithm
- AssemblyHashAlgorithm
Representa o algoritmo de hash usado pelo manifesto do assembly.
Retornos
O valor retornado pelo ponto de entrada do assembly.
- Atributos
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
Cuidado
O CAS (Segurança de Acesso do Código) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não aceitam anotações de CAS e produzem erros caso as APIs relacionadas ao CAS sejam usadas. Os desenvolvedores devem buscar meios alternativos de realizar tarefas de segurança.
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 um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Aplica-se a
ExecuteAssembly(String, Evidence)
Cuidado
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 arquivo 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 arquivo que contém o assembly a ser executado.
- assemblySecurity
- Evidence
Evidência para carregar o assembly.
Retornos
O valor retornado pelo ponto de entrada do assembly.
Implementações
- Atributos
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
O assembly começa a ser executado no ponto de entrada especificado no cabeçalho do .NET Framework.
O ExecuteAssembly método não cria um novo processo ou domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Aplica-se a
ExecuteAssembly(String, String[])
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
Executa o assembly contido no arquivo especificado usando argumentos especificados.
public:
int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args);
public int ExecuteAssembly (string assemblyFile, 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.
- args
- String[]
Os argumentos para o ponto de entrada do assembly.
Retornos
O valor retornado pelo ponto de entrada do assembly.
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
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 um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Aplica-se a
ExecuteAssembly(String)
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
- Origem:
- AppDomain.cs
Executa o assembly contido no arquivo especificado.
public:
int ExecuteAssembly(System::String ^ assemblyFile);
public:
virtual int ExecuteAssembly(System::String ^ assemblyFile);
public int ExecuteAssembly (string assemblyFile);
member this.ExecuteAssembly : string -> int
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.
Retornos
O valor retornado pelo ponto de entrada do assembly.
Implementações
Exceções
assemblyFile
é null
.
assemblyFile
não foi encontrado.
assemblyFile
não é um assembly válido para o runtime carregado no momento.
A operação é tentada em um domínio de aplicativo descarregado.
Um assembly ou módulo foi carregado duas vezes em com duas evidências diferentes.
O assembly especificado não tem ponto de entrada.
Exemplos
O exemplo a seguir demonstra como usar 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
Comentários
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 um domínio de aplicativo e não executa o método de ponto de entrada em um novo thread.
Este método carrega assemblies usando o método LoadFile. Também é possível executar assemblies usando o método ExecuteAssemblyByName, que carrega assemblies usando o método Load.
Para criar o AppDomain para carregar e executar, use o CreateDomain método .