AppDomain.ExecuteAssembly Methode

Definition

Führt die Assembly in der angegebenen Datei aus.Executes the assembly contained in the specified file.

Überlädt

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

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise, Argumente, des Hashwerts und Hashalgorithmus aus.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence, String[])
Veraltet.
Veraltet.

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise und Argumente aus.Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente, des Hashwerts und Hashalgorithmus aus.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence)
Veraltet.
Veraltet.

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise aus.Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[])

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente aus.Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String)

Führt die Assembly in der angegebenen Datei aus.Executes the assembly contained in the specified file.

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

Achtung

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.

Achtung

Use an overload that does not take an Evidence parameter

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise, Argumente, des Hashwerts und Hashalgorithmus aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Der angegebene Beweis für die Assembly.The supplied evidence for the assembly.

args
String[]

Die Argumente für den Einstiegspunkt der Assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Stellt den Wert des errechneten Hashcodes dar.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Stellt den vom Assemblymanifest verwendeten Hashalgorithmus dar.Represents the hash algorithm used by the assembly manifest.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value returned by the entry point of the assembly.

Attribute

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyFile wurde mit einer höheren Version kompiliert.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

assemblySecurity ist nicht null.assemblySecurity is not null. Wenn die Legacy-CAS-Richtlinie nicht aktiviert ist, sollte assemblySecurity dem Wert null entsprechen.When legacy CAS policy is not enabled, assemblySecurity should be null.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Diese Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Gilt für:

ExecuteAssembly(String, Evidence, String[])

Achtung

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.

Achtung

Use an overload that does not take an Evidence parameter

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise und Argumente aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Der angegebene Beweis für die Assembly.The supplied evidence for the assembly.

args
String[]

Die Argumente für den Einstiegspunkt der Assembly.The arguments to the entry point of the assembly.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value returned by the entry point of the assembly.

Implementiert

Attribute

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyFile wurde mit einer höheren Version kompiliert.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

assemblySecurity ist nicht null.assemblySecurity is not null. Wenn die Legacy-CAS-Richtlinie nicht aktiviert ist, sollte assemblySecurity dem Wert null entsprechen.When legacy CAS policy is not enabled, assemblySecurity should be null.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Diese Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Gilt für:

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

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente, des Hashwerts und Hashalgorithmus aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

args
String[]

Die Argumente für den Einstiegspunkt der Assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Stellt den Wert des errechneten Hashcodes dar.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Stellt den vom Assemblymanifest verwendeten Hashalgorithmus dar.Represents the hash algorithm used by the assembly manifest.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value that is returned by the entry point of the assembly.

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- assemblyFile wurde mit einer höheren Version der Common Language Runtime als die derzeit geladene Version kompiliert.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Diese Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Gilt für:

ExecuteAssembly(String, Evidence)

Achtung

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.

Achtung

Use an overload that does not take an Evidence parameter

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Beweis für das Laden der Assembly.Evidence for loading the assembly.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value returned by the entry point of the assembly.

Implementiert

Attribute

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyFile wurde mit einer höheren Version kompiliert.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Die ExecuteAssembly -Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.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.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Gilt für:

ExecuteAssembly(String, String[])

Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

args
String[]

Die Argumente für den Einstiegspunkt der Assembly.The arguments to the entry point of the assembly.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value that is returned by the entry point of the assembly.

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- assemblyFile wurde mit einer höheren Version der Common Language Runtime als die derzeit geladene Version kompiliert.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Diese Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Gilt für:

ExecuteAssembly(String)

Führt die Assembly in der angegebenen Datei aus.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

Parameter

assemblyFile
String

Der Name der Datei mit der auszuführenden Assembly.The name of the file that contains the assembly to execute.

Gibt zurück

Int32

Der vom Einstiegspunkt der Assembly zurückgegebene Wert.The value returned by the entry point of the assembly.

Implementiert

Ausnahmen

assemblyFile ist null.assemblyFile is null.

assemblyFile wurde nicht gefunden.assemblyFile is not found.

assemblyFile ist keine gültige Assembly.assemblyFile is not a valid assembly.

- oder --or- Version 2.0 oder höher der Common Language Runtime ist derzeit geladen, und assemblyFile wurde mit einer höheren Version kompiliert.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.The operation is attempted on an unloaded application domain.

Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.An assembly or module was loaded twice with two different evidences.

Die angegebene Assembly verfügt über keinen Einstiegspunkt.The specified assembly has no entry point.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine der-über Ladungen von ExecuteAssembly auf zwei verschiedenen Domänen verwendet wird.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

Hinweise

Die Assembly beginnt mit der Ausführung an dem Einstiegspunkt, der im .NET Framework-Header angegeben ist.The assembly begins executing at the entry point specified in the .NET Framework header.

Diese Methode erstellt keinen neuen Prozess oder keine neue Anwendungsdomäne und führt die Einstiegspunkt Methode nicht in einem neuen Thread aus.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Diese Methode lädt Assemblys mit der- LoadFile Methode.This method loads assemblies using the LoadFile method. Sie können Assemblys auch mit der-Methode ausführen, die Assemblys ExecuteAssemblyByName mit der- Load Methode lädt.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Verwenden Sie die-Methode, um zu AppDomain Laden und auszuführen CreateDomain .To create the AppDomain to load and execute, use the CreateDomain method.

Gilt für: