Bagikan melalui


AppDomain.ExecuteAssembly Metode

Definisi

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

assemblyFileadalah 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

assemblyFileadalah 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

assemblyFileadalah 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

assemblyFileadalah 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

assemblyFileadalah 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

assemblyFileadalah 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 .

Berlaku untuk