AppDomain.ExecuteAssembly Método

Definição

Executa o assembly contido no arquivo especificado.

Sobrecargas

Nome Description
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 as evidências e 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 os 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 com duas evidências diferentes.

assemblySecurity não nullé . Quando a política cas herdada não estiver habilitada, assemblySecurity deverá ser null.

O assembly especificado não tem nenhum ponto de entrada.

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 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 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 com duas evidências diferentes.

assemblySecurity não nullé . Quando a política cas herdada não estiver habilitada, assemblySecurity deverá ser null.

O assembly especificado não tem nenhum ponto de entrada.

Aplica-se a

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

Origem:
AppDomain.cs
Origem:
AppDomain.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
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);
public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
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 com duas evidências diferentes.

O assembly especificado não tem nenhum ponto de entrada.

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 com duas evidências diferentes.

O assembly especificado não tem nenhum ponto de entrada.

Aplica-se a

ExecuteAssembly(String, String[])

Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs

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

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile, string?[]? args);
public int ExecuteAssembly(string assemblyFile, string[] args);
public int ExecuteAssembly(string assemblyFile, string?[]? args);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] -> int
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.

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 com duas evidências diferentes.

O assembly especificado não tem nenhum ponto de entrada.

Exemplos

O exemplo a seguir demonstra o uso de uma das sobrecargas de ExecuteAssembly 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 .NET Framework.

Esse 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.

Esse método carrega assemblies usando o LoadFile método. Você também pode executar assemblies usando o ExecuteAssemblyByName método, que carrega assemblies usando o Load método.

Aplica-se a

ExecuteAssembly(String)

Origem:
AppDomain.cs
Origem:
AppDomain.cs
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile);
public int ExecuteAssembly(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string -> int
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

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 com duas evidências diferentes.

O assembly especificado não tem nenhum ponto de entrada.

Exemplos

O exemplo a seguir demonstra o uso de uma das sobrecargas de ExecuteAssembly 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 .NET Framework.

Esse 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.

Esse método carrega assemblies usando o LoadFile método. Você também pode executar assemblies usando o ExecuteAssemblyByName método, que carrega assemblies usando o Load método.

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

Aplica-se a