AppDomain.ExecuteAssembly Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Spustí sestavení obsažené v zadaném souboru.
Přetížení
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm) |
Zastaralé.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů, argumentů, hodnoty hash a hash algoritmu. |
ExecuteAssembly(String, Evidence, String[]) |
Zastaralé.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů a argumentů. |
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) |
Zastaralé.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných argumentů, hodnoty hash a hashovacího algoritmu. |
ExecuteAssembly(String, Evidence) |
Zastaralé.
Spustí sestavení obsažené v zadaném souboru pomocí zadaného důkazu. |
ExecuteAssembly(String, String[]) |
Spustí sestavení obsažené v zadaném souboru pomocí zadaných argumentů. |
ExecuteAssembly(String) |
Spustí sestavení obsažené v zadaném souboru. |
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Upozornění
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.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů, argumentů, hodnoty hash a hash algoritmu.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
- assemblySecurity
- Evidence
Předaný důkaz pro sestavení.
- args
- String[]
Argumenty vstupního bodu sestavení.
- hashValue
- Byte[]
Představuje hodnotu vypočítaného hash kódu.
- hashAlgorithm
- AssemblyHashAlgorithm
Představuje algoritmus hash používaný manifestem sestavení.
Návraty
Hodnota vrácená vstupním bodem sestavení.
- Atributy
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
assemblySecurity
není null
. Pokud starší verze zásad CAS není povolená, assemblySecurity
měla by být .null
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Tato metoda nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém podprocesu.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
Platí pro
ExecuteAssembly(String, Evidence, String[])
Upozornění
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.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných důkazů a argumentů.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
- assemblySecurity
- Evidence
Předaný důkaz pro sestavení.
- args
- String[]
Argumenty vstupního bodu sestavení.
Návraty
Hodnota vrácená vstupním bodem sestavení.
Implementuje
- Atributy
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
assemblySecurity
není null
. Pokud starší verze zásad CAS není povolená, assemblySecurity
měla by být .null
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Tato metoda nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém podprocesu.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
Platí pro
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Upozornění
Code Access Security is not supported or honored by the runtime.
Spustí sestavení obsažené v zadaném souboru pomocí zadaných argumentů, hodnoty hash a hashovacího algoritmu.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
- args
- String[]
Argumenty vstupního bodu sestavení.
- hashValue
- Byte[]
Představuje hodnotu vypočítaného hash kódu.
- hashAlgorithm
- AssemblyHashAlgorithm
Představuje algoritmus hash používaný manifestem sestavení.
Návraty
Hodnota, která je vrácena vstupním bodem sestavení.
- Atributy
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Upozornění
Zabezpečení přístupu kódu (CAS) bylo ve všech verzích rozhraní .NET Framework a .NET zastaralé. Nedávné verze rozhraní .NET nedodržují poznámky CAS a při použití rozhraní API souvisejících s cas generují chyby. Vývojáři by měli hledat alternativní způsoby provádění úloh zabezpečení.
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Tato metoda nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém podprocesu.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
Platí pro
ExecuteAssembly(String, Evidence)
Upozornění
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.
Spustí sestavení obsažené v zadaném souboru pomocí zadaného důkazu.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
- assemblySecurity
- Evidence
Důkaz pro načtení sestavení.
Návraty
Hodnota vrácená vstupním bodem sestavení.
Implementuje
- Atributy
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Metoda ExecuteAssembly nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém vlákně.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
Platí pro
ExecuteAssembly(String, String[])
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Spustí sestavení obsažené v zadaném souboru pomocí zadaných argumentů.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
- args
- String[]
Argumenty vstupního bodu sestavení.
Návraty
Hodnota, která je vrácena vstupním bodem sestavení.
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Tato metoda nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém podprocesu.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
Platí pro
ExecuteAssembly(String)
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Spustí sestavení obsažené v zadaném souboru.
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
Parametry
- assemblyFile
- String
Název souboru, který obsahuje sestavení ke spuštění.
Návraty
Hodnota vrácená vstupním bodem sestavení.
Implementuje
Výjimky
assemblyFile
je null
.
assemblyFile
nebyla nalezena.
assemblyFile
není platné sestavení pro aktuálně načtený modul runtime.
Dojde k pokusu o operaci na uvolněné doméně aplikace.
Sestavení nebo modul byly zavedeny dvakrát se dvěma různými legitimacemi.
Zadané sestavení nemá žádný vstupní bod.
Příklady
Následující ukázka ukazuje použití jednoho z přetížení ve ExecuteAssembly dvou různých doménách.
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
Poznámky
Sestavení zahájí provádění ve vstupním bodu, který je určen v záhlaví rozhraní .NET Framework.
Tato metoda nevytvoří nový proces nebo doménu aplikace a nespustí metodu vstupního bodu v novém podprocesu.
Tato metoda načte sestavení pomocí LoadFile metody . Sestavení můžete také spustit pomocí ExecuteAssemblyByName metody , která načte sestavení pomocí Load metody .
K vytvoření AppDomain k načtení a spuštění použijte metodu CreateDomain .