AppDomain.ExecuteAssembly Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menjalankan rakitan yang terkandung dalam file yang ditentukan.
Overload
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm) |
Kedaluwarsa.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti, argumen, nilai hash, dan algoritma hash yang ditentukan. |
ExecuteAssembly(String, Evidence, String[]) |
Kedaluwarsa.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti dan argumen yang ditentukan. |
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) |
Kedaluwarsa.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan argumen, nilai hash, dan algoritma hash yang ditentukan. |
ExecuteAssembly(String, Evidence) |
Kedaluwarsa.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti yang ditentukan. |
ExecuteAssembly(String, String[]) |
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan argumen yang ditentukan. |
ExecuteAssembly(String) |
Menjalankan rakitan yang terkandung dalam file yang ditentukan. |
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Perhatian
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.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti, argumen, nilai hash, dan algoritma hash yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
- assemblySecurity
- Evidence
Bukti yang diberikan untuk perakitan.
- args
- String[]
Argumen ke titik masuk perakitan.
- hashValue
- Byte[]
Mewakili nilai kode hash yang dihitung.
- hashAlgorithm
- AssemblyHashAlgorithm
Mewakili algoritma hash yang digunakan oleh manifes perakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik entri perakitan.
- Atribut
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang dibongkar.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
assemblySecurity
bukan null
. Ketika kebijakan CAS warisan tidak diaktifkan, assemblySecurity
harus null
.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan penggunaan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Rakitan mulai dijalankan pada titik entri yang ditentukan di header .NET Framework.
Metode ini tidak membuat proses atau domain aplikasi baru, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Berlaku untuk
ExecuteAssembly(String, Evidence, String[])
Perhatian
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.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti dan argumen yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
- assemblySecurity
- Evidence
Bukti yang diberikan untuk perakitan.
- args
- String[]
Argumen ke titik masuk perakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik entri perakitan.
Penerapan
- Atribut
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang dibongkar.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
assemblySecurity
bukan null
. Ketika kebijakan CAS warisan tidak diaktifkan, assemblySecurity
harus null
.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan penggunaan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Rakitan mulai dijalankan pada titik entri yang ditentukan di header .NET Framework.
Metode ini tidak membuat proses atau domain aplikasi baru, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Berlaku untuk
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
Perhatian
Code Access Security is not supported or honored by the runtime.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan argumen, nilai hash, dan algoritma hash yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
- args
- String[]
Argumen ke titik masuk perakitan.
- hashValue
- Byte[]
Mewakili nilai kode hash yang dihitung.
- hashAlgorithm
- AssemblyHashAlgorithm
Mewakili algoritma hash yang digunakan oleh manifes perakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik masuk perakitan.
- Atribut
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang dibongkar.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan penggunaan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Perhatian
Keamanan Akses Kode (CAS) tidak digunakan lagi di semua versi .NET Framework dan .NET. Versi terbaru .NET tidak mematuhi anotasi CAS dan menghasilkan kesalahan jika API terkait CAS digunakan. Pengembang harus mencari cara alternatif untuk menyelesaikan tugas keamanan.
Rakitan mulai dijalankan pada titik entri yang ditentukan di header .NET Framework.
Metode ini tidak membuat proses atau domain aplikasi baru, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Berlaku untuk
ExecuteAssembly(String, Evidence)
Perhatian
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.
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan bukti yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
- assemblySecurity
- Evidence
Bukti untuk memuat assembly.
Mengembalikan
Nilai yang dikembalikan oleh titik entri perakitan.
Penerapan
- Atribut
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang dibongkar.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan penggunaan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Rakitan mulai dijalankan pada titik entri yang ditentukan di header .NET Framework.
Metode ExecuteAssembly ini tidak membuat proses baru atau domain aplikasi, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Berlaku untuk
ExecuteAssembly(String, String[])
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
Menjalankan rakitan yang terkandung dalam file yang ditentukan, menggunakan argumen yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
- args
- String[]
Argumen ke titik masuk perakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik masuk perakitan.
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang dibongkar.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan penggunaan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Rakitan mulai dieksekusi pada titik entri yang ditentukan di header .NET Framework.
Metode ini tidak membuat proses atau domain aplikasi baru, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Berlaku untuk
ExecuteAssembly(String)
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
Menjalankan rakitan yang terkandung dalam file yang ditentukan.
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
Nama file yang berisi assembly untuk dijalankan.
Mengembalikan
Nilai yang dikembalikan oleh titik masuk perakitan.
Penerapan
Pengecualian
assemblyFile
adalah null
.
assemblyFile
tidak ditemukan.
assemblyFile
bukan rakitan yang valid untuk runtime yang saat ini dimuat.
Operasi ini dicoba pada domain aplikasi yang tidak dimuat.
Perakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
Contoh
Sampel berikut menunjukkan menggunakan salah satu kelebihan beban ExecuteAssembly pada dua domain yang berbeda.
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
Keterangan
Rakitan mulai dieksekusi pada titik entri yang ditentukan di header .NET Framework.
Metode ini tidak membuat proses atau domain aplikasi baru, dan tidak menjalankan metode titik masuk pada utas baru.
Metode ini memuat rakitan menggunakan LoadFile metode . Anda juga dapat menjalankan rakitan menggunakan ExecuteAssemblyByName metode , yang memuat rakitan menggunakan Load metode .
Untuk membuat AppDomain untuk memuat dan mengeksekusi, gunakan CreateDomain metode .