Compartilhar via


AppDomain.ExecuteAssembly Método

Definição

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 .

Aplica-se a