AppDomain.ExecuteAssembly Metodo

Definizione

Esegue l'assembly contenuto nel file specificato.Executes the assembly contained in the specified file.

Overload

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

Esegue l'assembly contenuto nel file specificato, usando l'evidenza, gli argomenti, il valore hash e l'algoritmo hash specificati.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence, String[])

Esegue l'assembly contenuto nel file specificato usando l'evidenza e gli argomenti specificati.Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

Esegue l'assembly contenuto nel file specificato, usando gli argomenti, il valore hash e l'algoritmo hash specificati.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence)

Esegue l'assembly contenuto nel file specificato usando l'evidenza specificata.Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[])

Esegue l'assembly contenuto nel file specificato, usando gli argomenti specificati.Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String)

Esegue l'assembly contenuto nel file specificato.Executes the assembly contained in the specified file.

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

Avviso

Questa API è ora obsoleta.

Esegue l'assembly contenuto nel file specificato, usando l'evidenza, gli argomenti, il valore hash e l'algoritmo hash specificati.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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 https://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
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.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Evidenza fornita per l'assembly.The supplied evidence for the assembly.

args
String[]

Argomenti per il punto di ingresso dell'assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Rappresenta il valore del codice hash calcolato.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Rappresenta l'algoritmo hash usato dal manifesto dell'assembly.Represents the hash algorithm used by the assembly manifest.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value returned by the entry point of the assembly.

Attributi

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e il parametro assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

assemblySecurity non è null.assemblySecurity is not null. Quando i criteri di sicurezza dall'accesso di codice legacy non sono abilitati, assemblySecurity deve essere null.When legacy CAS policy is not enabled, assemblySecurity should be null.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Questo metodo non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence, String[])

Avviso

Questa API è ora obsoleta.

Esegue l'assembly contenuto nel file specificato usando l'evidenza e gli argomenti specificati.Executes the assembly contained in the specified file, using the specified evidence and arguments.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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 https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
member 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.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Evidenza fornita per l'assembly.The supplied evidence for the assembly.

args
String[]

Argomenti per il punto di ingresso dell'assembly.The arguments to the entry point of the assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value returned by the entry point of the assembly.

Implementazioni

Attributi

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e il parametro assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

assemblySecurity non è null.assemblySecurity is not null. Quando i criteri di sicurezza dall'accesso di codice legacy non sono abilitati, assemblySecurity deve essere null.When legacy CAS policy is not enabled, assemblySecurity should be null.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Questo metodo non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

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

Esegue l'assembly contenuto nel file specificato, usando gli argomenti, il valore hash e l'algoritmo hash specificati.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

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);
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.The name of the file that contains the assembly to execute.

args
String[]

Argomenti per il punto di ingresso dell'assembly.The arguments to the entry point of the assembly.

hashValue
Byte[]

Rappresenta il valore del codice hash calcolato.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm

Rappresenta l'algoritmo hash usato dal manifesto dell'assembly.Represents the hash algorithm used by the assembly manifest.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value that is returned by the entry point of the assembly.

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- assemblyFile è stato compilato con una versione successiva di Common Language Runtime rispetto alla versione attualmente caricata.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Questo metodo non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Sicurezza

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence)

Avviso

Questa API è ora obsoleta.

Esegue l'assembly contenuto nel file specificato usando l'evidenza specificata.Executes the assembly contained in the specified file, using the specified evidence.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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 https://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly (string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
member 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.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence

Evidenza per il caricamento dell'assembly.Evidence for loading the assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value returned by the entry point of the assembly.

Implementazioni

Attributi

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e il parametro assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Il metodo ExecuteAssembly non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.The ExecuteAssembly method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Sicurezza

SecurityPermission
per caricare un assembly con evidenze.to load an assembly with evidence. Enumerazione associata: ControlEvidence.Associated enumeration: ControlEvidence.

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String, String[])

Esegue l'assembly contenuto nel file specificato, usando gli argomenti specificati.Executes the assembly contained in the specified file, using the specified arguments.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::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.The name of the file that contains the assembly to execute.

args
String[]

Argomenti per il punto di ingresso dell'assembly.The arguments to the entry point of the assembly.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value that is returned by the entry point of the assembly.

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- assemblyFile è stato compilato con una versione successiva di Common Language Runtime rispetto alla versione attualmente caricata.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Questo metodo non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Sicurezza

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

ExecuteAssembly(String)

Esegue l'assembly contenuto nel file specificato.Executes the assembly contained in the specified file.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile);
public int ExecuteAssembly (string assemblyFile);
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.The name of the file that contains the assembly to execute.

Restituisce

Valore restituito dal punto di ingresso dell'assembly.The value returned by the entry point of the assembly.

Implementazioni

Eccezioni

assemblyFile è null.assemblyFile is null.

assemblyFile non trovata.assemblyFile is not found.

assemblyFile non è un assembly valido.assemblyFile is not a valid assembly.

-oppure--or- Attualmente è caricata la versione 2.0 o successiva di Common Language Runtime e il parametro assemblyFile è stato compilato con una versione successiva.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

L'operazione viene tentata in un dominio dell'applicazione non caricato.The operation is attempted on an unloaded application domain.

Un assembly o un modulo è stato caricato due volte con due evidenze diverse.An assembly or module was loaded twice with two different evidences.

L'assembly specificato non ha alcun punto di ingresso.The specified assembly has no entry point.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di uno degli overload di ExecuteAssembly in due domini diversi.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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'esecuzione dell'assembly inizia in corrispondenza del punto di ingresso specificato nell'intestazione del .NET Framework.The assembly begins executing at the entry point specified in the .NET Framework header.

Questo metodo non crea un nuovo processo o un nuovo dominio applicazione e non esegue il metodo del punto di ingresso in un nuovo thread.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

Questo metodo carica gli assembly usando il metodo LoadFile.This method loads assemblies using the LoadFile method. È anche possibile eseguire assembly usando il metodo ExecuteAssemblyByName, che carica gli assembly usando il metodo Load.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

Per creare il AppDomain da caricare ed eseguire, usare il metodo CreateDomain.To create the AppDomain to load and execute, use the CreateDomain method.

Sicurezza

FileIOPermission
per accedere a leggere da un file o da una directory e per accedere alle informazioni nel percorso stesso.for access to read from a file or directory, and for access to the information in the path itself. Enumerazioni associate: Read, PathDiscovery.Associated enumerations: Read, PathDiscovery.

WebPermission
per la lettura di un URI che non inizia con "file://".for reading a URI that does not begin with "file://".

UIPermission
per eseguire un'applicazione console.to execute a console application. Enumerazione associata: Unrestricted.Associated enumeration: Unrestricted.

Si applica a