AppDomain.ExecuteAssembly Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt die Assembly in der angegebenen Datei aus.
Überlädt
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm) |
Veraltet.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise, Argumente, des Hashwerts und Hashalgorithmus aus. |
ExecuteAssembly(String, Evidence, String[]) |
Veraltet.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise und Argumente aus. |
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) |
Veraltet.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente, des Hashwerts und Hashalgorithmus aus. |
ExecuteAssembly(String, Evidence) |
Veraltet.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise aus. |
ExecuteAssembly(String, String[]) |
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente aus. |
ExecuteAssembly(String) |
Führt die Assembly in der angegebenen Datei aus. |
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.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise, Argumente, des Hashwerts und Hashalgorithmus aus.
public:
int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer
Parameter
- assemblyFile
- String
Der Name der Datei mit der auszuführenden Assembly.
- assemblySecurity
- Evidence
Der angegebene Beweis für die Assembly.
- args
- String[]
Die Argumente für den Einstiegspunkt der Assembly.
- hashValue
- Byte[]
Stellt den Wert des errechneten Hashcodes dar.
- hashAlgorithm
- AssemblyHashAlgorithm
Stellt den vom Assemblymanifest verwendeten Hashalgorithmus dar.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
- Attribute
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die aktuell geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
assemblySecurity
ist nicht null
. Wenn die Legacy-CAS-Richtlinie nicht aktiviert ist, sollte assemblySecurity
dem Wert null
entsprechen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Die Assembly beginnt mit der Ausführung an dem im .NET Framework-Header angegebenen Einstiegspunkt.
Diese Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht für einen neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mit der Load -Methode lädt.
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.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise und Argumente aus.
public:
virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String()) As Integer
Parameter
- assemblyFile
- String
Der Name der Datei mit der auszuführenden Assembly.
- assemblySecurity
- Evidence
Der angegebene Beweis für die Assembly.
- args
- String[]
Die Argumente für den Einstiegspunkt der Assembly.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
Implementiert
- Attribute
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die aktuell geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
assemblySecurity
ist nicht null
. Wenn die Legacy-CAS-Richtlinie nicht aktiviert ist, sollte assemblySecurity
dem Wert null
entsprechen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Die Assembly beginnt mit der Ausführung an dem im .NET Framework-Header angegebenen Einstiegspunkt.
Diese Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht für einen neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mit der Load -Methode lädt.
Gilt für:
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
Achtung
Code Access Security is not supported or honored by the runtime.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente, des Hashwerts und Hashalgorithmus aus.
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
Parameter
- assemblyFile
- String
Der Name der Datei mit der auszuführenden Assembly.
- args
- String[]
Die Argumente für den Einstiegspunkt der Assembly.
- hashValue
- Byte[]
Stellt den Wert des errechneten Hashcodes dar.
- hashAlgorithm
- AssemblyHashAlgorithm
Stellt den vom Assemblymanifest verwendeten Hashalgorithmus dar.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
- Attribute
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die aktuell geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Achtung
Die Codezugriffssicherheit (CAS, Code Access Security) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler*innen sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.
Die Assembly beginnt mit der Ausführung an dem im .NET Framework-Header angegebenen Einstiegspunkt.
Diese Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht für einen neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mit der Load -Methode lädt.
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.
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Beweise aus.
public:
virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence) As Integer
Parameter
- assemblyFile
- String
Der Name der Datei mit der auszuführenden Assembly.
- assemblySecurity
- Evidence
Beweis für das Laden der Assembly.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
Implementiert
- Attribute
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die aktuell geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Die Assembly beginnt mit der Ausführung an dem im .NET Framework-Header angegebenen Einstiegspunkt.
Die ExecuteAssembly -Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht in einem neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mit der Load -Methode lädt.
Gilt für:
ExecuteAssembly(String, String[])
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
Führt die Assembly in der angegebenen Datei unter Verwendung der angegebenen Argumente aus.
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.
- args
- String[]
Die Argumente für den Einstiegspunkt der Assembly.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die aktuell geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Das folgende Beispiel veranschaulicht die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Die Assembly beginnt mit der Ausführung am Einstiegspunkt, der im .NET Framework-Header angegeben ist.
Diese Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht in einem neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mithilfe der Load -Methode lädt.
Gilt für:
ExecuteAssembly(String)
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
- Quelle:
- AppDomain.cs
Führt die Assembly in der angegebenen Datei aus.
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.
Gibt zurück
Der vom Einstiegspunkt der Assembly zurückgegebene Wert.
Implementiert
Ausnahmen
assemblyFile
ist null
.
assemblyFile
wurde nicht gefunden.
assemblyFile
ist keine gültige Assembly für die derzeit geladene Runtime.
Der Vorgang wird für eine entladene Anwendungsdomäne ausgeführt.
Eine Assembly oder ein Modul wurde zweimal mit zwei unterschiedlichen Beweisen geladen.
Die angegebene Assembly verfügt über keinen Einstiegspunkt.
Beispiele
Im folgenden Beispiel wird die Verwendung einer der Überladungen von ExecuteAssembly in zwei verschiedenen Domänen veranschaulicht.
int main()
{
AppDomain^ currentDomain = AppDomain::CurrentDomain;
AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
currentDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on [default]"
otherDomain->ExecuteAssembly( "MyExecutable.exe" );
// Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
public static void Main() {
AppDomain currentDomain = AppDomain.CurrentDomain;
AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");
currentDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe");
// Prints "MyExecutable running on otherDomain"
}
}
open System
let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"
currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test
Sub Main()
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
currentDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on [default]"
otherDomain.ExecuteAssembly("MyExecutable.exe")
' Prints "MyExecutable running on otherDomain"
End Sub
End Module 'Test
Hinweise
Die Assembly beginnt mit der Ausführung am Einstiegspunkt, der im .NET Framework-Header angegeben ist.
Diese Methode erstellt keinen neuen Prozess oder eine neue Anwendungsdomäne und führt die Einstiegspunktmethode nicht in einem neuen Thread aus.
Diese Methode lädt Assemblys mithilfe der LoadFile -Methode. Sie können Assemblys auch mit der ExecuteAssemblyByName -Methode ausführen, die Assemblys mithilfe der Load -Methode lädt.
Verwenden Sie CreateDomain die -Methode, um die AppDomain zu laden und auszuführen.