AppDomain.ExecuteAssembly Méthode

Définition

Exécute l'assembly contenu dans le fichier spécifié.

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.

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.

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

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.

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.

ExecuteAssembly(String, String[])

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments spécifiés.

ExecuteAssembly(String)

Exécute l'assembly contenu dans le fichier spécifié.

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.

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.

assemblySecurity
Evidence

Preuve fournie pour l'assembly.

args
String[]

Arguments pour le point d'entrée de l'assembly.

hashValue
Byte[]

Représente la valeur du code de hachage calculé.

hashAlgorithm
AssemblyHashAlgorithm

Représente l'algorithme de hachage utilisé par le manifeste d'assembly.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.

Attributs

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - 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.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

assemblySecurity n’est pas un null. Quand la stratégie CAS héritée n’est pas activée, assemblySecurity doit être null.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

S’applique à

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.

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.

assemblySecurity
Evidence

Preuve fournie pour l'assembly.

args
String[]

Arguments pour le point d'entrée de l'assembly.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.

Implémente

Attributs

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - 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.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

assemblySecurity n’est pas un null. Quand la stratégie CAS héritée n’est pas activée, assemblySecurity doit être null.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

S’applique à

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

Attention

Code Access Security is not supported or honored by the runtime.

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.

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

Paramètres

assemblyFile
String

Nom du fichier contenant l'assembly à exécuter.

args
String[]

Arguments pour le point d'entrée de l'assembly.

hashValue
Byte[]

Représente la valeur du code de hachage calculé.

hashAlgorithm
AssemblyHashAlgorithm

Représente l'algorithme de hachage utilisé par le manifeste d'assembly.

Retours

Int32

Valeur qui est retournée par le point d'entrée de l'assembly.

Attributs

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - assemblyFile a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

S’applique à

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.

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.

assemblySecurity
Evidence

Preuve de chargement de l'assembly.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.

Implémente

Attributs

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - 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.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

S’applique à

ExecuteAssembly(String, String[])

Exécute l’assembly contenu dans le fichier spécifié à l’aide des arguments spécifiés.

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.

args
String[]

Arguments pour le point d'entrée de l'assembly.

Retours

Int32

Valeur qui est retournée par le point d'entrée de l'assembly.

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - assemblyFile a été compilé avec une version du Common Language Runtime ultérieure à la version actuellement chargée.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

S’applique à

ExecuteAssembly(String)

Exécute l'assembly contenu dans le fichier spécifié.

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.

Retours

Int32

Valeur retournée par le point d'entrée de l'assembly.

Implémente

Exceptions

assemblyFile a la valeur null.

assemblyFile est introuvable.

assemblyFile n’est pas un assembly valide.

  • ou - 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.

L’opération est tentée sur un domaine d’application non chargé.

Un assembly ou un module a été chargé à deux reprises avec deux preuves différentes.

L’assembly spécifié n’a aucun point d’entrée.

Exemples

L’exemple suivant illustre l’utilisation de l’une des surcharges de ExecuteAssembly sur deux domaines différents.

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.

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.

Cette méthode charge les assemblys à l’aide de la LoadFile méthode. 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.

Pour créer le AppDomain à charger et à exécuter, utilisez la CreateDomain méthode.

S’applique à