Condividi tramite


AppDomain.ExecuteAssembly Metodo

Definizione

Esegue l'assembly contenuto nel file specificato.

Overload

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Obsoleti.

Esegue l'assembly contenuto nel file specificato, usando l'evidenza, gli argomenti, il valore hash e l'algoritmo hash specificati.

ExecuteAssembly(String, Evidence, String[])
Obsoleti.

Esegue l'assembly contenuto nel file specificato usando l'evidenza e gli argomenti specificati.

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
Obsoleti.

Esegue l'assembly contenuto nel file specificato, usando gli argomenti, il valore hash e l'algoritmo hash specificati.

ExecuteAssembly(String, Evidence)
Obsoleti.

Esegue l'assembly contenuto nel file specificato usando l'evidenza specificata.

ExecuteAssembly(String, String[])

Esegue l'assembly contenuto nel file specificato, usando gli argomenti specificati.

ExecuteAssembly(String)

Esegue l'assembly contenuto nel file specificato.

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)

Attenzione

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.

Esegue l'assembly contenuto nel file specificato, usando l'evidenza, gli argomenti, il valore hash e l'algoritmo hash specificati.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

assemblySecurity
Evidence

Evidenza fornita per l'assembly.

args
String[]

Argomenti per il punto di ingresso dell'assembly.

hashValue
Byte[]

Rappresenta il valore del codice hash calcolato.

hashAlgorithm
AssemblyHashAlgorithm

Rappresenta l'algoritmo hash usato dal manifesto dell'assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Attributi

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

assemblySecurity non è null. Quando i criteri di sicurezza dall'accesso di codice legacy non sono abilitati, assemblySecurity deve essere null.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Questo metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Si applica a

ExecuteAssembly(String, Evidence, String[])

Attenzione

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.

Esegue l'assembly contenuto nel file specificato usando l'evidenza e gli argomenti specificati.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

assemblySecurity
Evidence

Evidenza fornita per l'assembly.

args
String[]

Argomenti per il punto di ingresso dell'assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Implementazioni

Attributi

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

assemblySecurity non è null. Quando i criteri di sicurezza dall'accesso di codice legacy non sono abilitati, assemblySecurity deve essere null.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Questo metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Si applica a

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

Attenzione

Code Access Security is not supported or honored by the runtime.

Esegue l'assembly contenuto nel file specificato, usando gli argomenti, il valore hash e l'algoritmo hash specificati.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

args
String[]

Argomenti per il punto di ingresso dell'assembly.

hashValue
Byte[]

Rappresenta il valore del codice hash calcolato.

hashAlgorithm
AssemblyHashAlgorithm

Rappresenta l'algoritmo hash usato dal manifesto dell'assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Attributi

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

Attenzione

La sicurezza di accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Questo metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Si applica a

ExecuteAssembly(String, Evidence)

Attenzione

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.

Esegue l'assembly contenuto nel file specificato usando l'evidenza specificata.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

assemblySecurity
Evidence

Evidenza per il caricamento dell'assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Implementazioni

Attributi

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Il ExecuteAssembly metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Si applica a

ExecuteAssembly(String, String[])

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

Esegue l'assembly contenuto nel file specificato, usando gli argomenti specificati.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

args
String[]

Argomenti per il punto di ingresso dell'assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Questo metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Si applica a

ExecuteAssembly(String)

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

Esegue l'assembly contenuto nel file specificato.

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

Parametri

assemblyFile
String

Nome del file contenente l'assembly da eseguire.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.

Implementazioni

Eccezioni

assemblyFile è null.

assemblyFile non trovata.

assemblyFile non è un assembly valido per il runtime attualmente caricato.

L'operazione viene tentata in un dominio dell'applicazione non caricato.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.

L'assembly specificato non ha alcun punto di ingresso.

Esempio

L'esempio seguente illustra l'uso di uno degli overload di ExecuteAssembly in due domini diversi.

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

Commenti

L'assembly inizia l'esecuzione nel punto di ingresso specificato nell'intestazione .NET Framework.

Questo metodo non crea un nuovo processo o un dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.

Questo metodo carica gli assembly usando il LoadFile metodo . È anche possibile eseguire assembly usando il ExecuteAssemblyByName metodo, che carica gli assembly usando il Load metodo .

Per creare l'oggetto AppDomain da caricare ed eseguire, usare il CreateDomain metodo .

Si applica a