AppDomain.ExecuteAssembly Method (String, Evidence, String(), Byte(), AssemblyHashAlgorithm)
Note: This API is now obsolete. The non-obsolete alternative is ExecuteAssembly(String, String(), Byte(), AssemblyHashAlgorithm).
Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.
Assembly: mscorlib (in mscorlib.dll)
'Declaration <ObsoleteAttribute("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 Function ExecuteAssembly ( _ assemblyFile As String, _ assemblySecurity As Evidence, _ args As String(), _ hashValue As Byte(), _ hashAlgorithm As AssemblyHashAlgorithm _ ) As Integer
- Type: System.String
The name of the file that contains the assembly to execute.
- Type: System.Security.Policy.Evidence
The supplied evidence for the assembly.
- Type: System.String()
The arguments to the entry point of the assembly.
- Type: System.Byte()
Represents the value of the computed hash code.
- Type: System.Configuration.Assemblies.AssemblyHashAlgorithm
Represents the hash algorithm used by the assembly manifest.
Return ValueType: System.Int32
The value returned by the entry point of the assembly.
assemblyFile is Nothing.
assemblyFile is not found.
assemblyFile is not a valid assembly.
Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.
The operation is attempted on an unloaded application domain.
An assembly or module was loaded twice with two different evidences.
assemblySecurity is not Nothing. When legacy CAS policy is not enabled, assemblySecurity should be Nothing.
The specified assembly has no entry point.
The assembly begins executing at the entry point specified in the .NET Framework header.
This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.
The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.
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 'Main End Module 'Test
to load an assembly with evidence. Associated enumeration: SecurityPermissionFlag.ControlEvidence.
for reading a URI that does not begin with "file://".
to execute a console application. Associated enumeration: PermissionState.Unrestricted.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2