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
| Nama | Deskripsi |
|---|---|
| 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 rakitan yang akan dijalankan.
- assemblySecurity
- Evidence
Bukti yang diberikan untuk rakitan.
- args
- String[]
Argumen ke titik masuk rakitan.
- 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 rakitan.
- 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 tidak dimuat.
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.
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 rakitan yang akan dijalankan.
- assemblySecurity
- Evidence
Bukti yang diberikan untuk rakitan.
- args
- String[]
Argumen ke titik masuk rakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik entri rakitan.
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 tidak dimuat.
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.
Berlaku untuk
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
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);
public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
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 rakitan yang akan dijalankan.
- args
- String[]
Argumen ke titik masuk rakitan.
- 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 tidak dimuat.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
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 rakitan yang akan dijalankan.
- assemblySecurity
- Evidence
Bukti untuk memuat rakitan.
Mengembalikan
Nilai yang dikembalikan oleh titik entri rakitan.
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 tidak dimuat.
Rakitan atau modul dimuat dua kali dengan dua bukti yang berbeda.
Rakitan yang ditentukan tidak memiliki titik masuk.
Berlaku untuk
ExecuteAssembly(String, String[])
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile, string?[]? args);
public int ExecuteAssembly(string assemblyFile, string[] args);
public int ExecuteAssembly(string assemblyFile, string?[]? args);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] -> int
member this.ExecuteAssembly : string * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, args As String()) As Integer
Parameter
- assemblyFile
- String
Nama file yang berisi rakitan yang akan dijalankan.
- args
- String[]
Argumen ke titik masuk rakitan.
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 tidak dimuat.
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.
Metode 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)
- Sumber:
- AppDomain.cs
- Sumber:
- AppDomain.cs
- 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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile);
public int ExecuteAssembly(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string -> int
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 rakitan yang akan dijalankan.
Mengembalikan
Nilai yang dikembalikan oleh titik entri rakitan.
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 tidak dimuat.
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.
Metode 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 .
Untuk membuat AppDomain untuk memuat dan menjalankan, gunakan CreateDomain metode .