AppDomain.ExecuteAssembly Méthode

Définition

Exécute l'assembly contenu dans le fichier spécifié.Executes the assembly contained in the specified file.

Surcharges

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Obsolète.
Obsolète.

Exécute l’assembly contenu dans le fichier spécifié à l’aide de la preuve, des arguments, de la valeur et de l’algorithme de hachage spécifiés.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence, String[])
Obsolète.
Obsolète.

Exécute l’assembly contenu dans le fichier spécifié à l’aide de la preuve et des arguments spécifiés.Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments, de la valeur et de l’algorithme de hachage spécifiés.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence)
Obsolète.
Obsolète.

Exécute l'assembly contenu dans le fichier spécifié à l'aide de la preuve spécifiée.Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[])

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments spécifiés.Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String)

Exécute l'assembly contenu dans le fichier spécifié.Executes the assembly contained in the specified file.

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

Attention

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.

Attention

Use an overload that does not take an Evidence parameter

Exécute l’assembly contenu dans le fichier spécifié à l’aide de la preuve, des arguments, de la valeur et de l’algorithme de hachage spécifiés.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
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
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Preuve fournie pour l'assembly.The supplied evidence for the assembly.

args
String[]

Arguments pour le point d'entrée de l'assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Représente la valeur du code de hachage calculé.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Représente l'algorithme de hachage utilisé par le manifeste d'assembly.Represents the hash algorithm used by the assembly manifest.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.The value returned by the entry point of the assembly.

Attributs

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

assemblySecurity n’est pas un null.assemblySecurity is not null. Quand la stratégie CAS héritée n’est pas activée, assemblySecurity doit être null.When legacy CAS policy is not enabled, assemblySecurity should be null.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Cette méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

S’applique à

Produit Introduit

ExecuteAssembly(String, Evidence, String[])

Attention

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.

Attention

Use an overload that does not take an Evidence parameter

Exécute l’assembly contenu dans le fichier spécifié à l’aide de la preuve et des arguments spécifiés.Executes the assembly contained in the specified file, using the specified evidence and arguments.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
public:
 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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
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
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Preuve fournie pour l'assembly.The supplied evidence for the assembly.

args
String[]

Arguments pour le point d'entrée de l'assembly.The arguments to the entry point of the assembly.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.The value returned by the entry point of the assembly.

Implémente

Attributs

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

assemblySecurity n’est pas un null.assemblySecurity is not null. Quand la stratégie CAS héritée n’est pas activée, assemblySecurity doit être null.When legacy CAS policy is not enabled, assemblySecurity should be null.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Cette méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

S’applique à

Produit Introduit

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

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments, de la valeur et de l’algorithme de hachage spécifiés.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

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);
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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

args
String[]

Arguments pour le point d'entrée de l'assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Représente la valeur du code de hachage calculé.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Représente l'algorithme de hachage utilisé par le manifeste d'assembly.Represents the hash algorithm used by the assembly manifest.

Retours

Int32

Valeur qui est retournée par le point d'entrée de l'assembly.The value that is returned by the entry point of the assembly.

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- assemblyFile a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Cette méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

S’applique à

Produit Introduit

ExecuteAssembly(String, Evidence)

Attention

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.

Attention

Use an overload that does not take an Evidence parameter

Exécute l'assembly contenu dans le fichier spécifié à l'aide de la preuve spécifiée.Executes the assembly contained in the specified file, using the specified evidence.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
public:
 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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
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
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
member this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
[<System.Obsolete("Use an overload that does not take an Evidence parameter")>]
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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Preuve de chargement de l'assembly.Evidence for loading the assembly.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.The value returned by the entry point of the assembly.

Implémente

Attributs

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

La ExecuteAssembly méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.The ExecuteAssembly method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

S’applique à

Produit Introduit

ExecuteAssembly(String, String[])

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments spécifiés.Executes the assembly contained in the specified file, using the specified arguments.

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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

args
String[]

Arguments pour le point d'entrée de l'assembly.The arguments to the entry point of the assembly.

Retours

Int32

Valeur qui est retournée par le point d'entrée de l'assembly.The value that is returned by the entry point of the assembly.

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- assemblyFile a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Cette méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

S’applique à

Produit Introduit

ExecuteAssembly(String)

Exécute l'assembly contenu dans le fichier spécifié.Executes the assembly contained in the specified file.

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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.The name of the file that contains the assembly to execute.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.The value returned by the entry point of the assembly.

Implémente

Exceptions

assemblyFile a la valeur null.assemblyFile is null.

assemblyFile est introuvable.assemblyFile is not found.

assemblyFile n’est pas un assembly valide.assemblyFile is not a valid assembly.

- ou --or- La version 2.0 ou ultérieure du Common Language Runtime est actuellement chargée et assemblyFile a été compilé avec une version ultérieure.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L’opération est tentée sur un domaine d’application non chargé.The operation is attempted on an unloaded application domain.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.An assembly or module was loaded twice with two different evidences.

L’assembly spécifié n’a aucun point d’entrée.The specified assembly has no entry point.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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

Remarques

L’exécution de l’assembly commence au point d’entrée spécifié dans l’en-tête .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Cette méthode ne crée pas de nouveau processus ou de domaine d’application, et n’exécute pas la méthode de point d’entrée sur un nouveau thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode.This method loads assemblies using the LoadFile method. Vous pouvez également exécuter des assemblys à l’aide de la ExecuteAssemblyByName méthode, qui charge les assemblys à l’aide de la Load méthode.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Pour créer le AppDomain à charger et à exécuter, utilisez la CreateDomain méthode.To create the AppDomain to load and execute, use the CreateDomain method.

S’applique à

Produit Introduit