RuntimeInfrastructure mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ] 1.0.5000.0 2.0.0.0 4.0.0.0 All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe. System.MarshalByRefObject System._AppDomain System.Security.IEvidenceFactory System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None) System.Runtime.InteropServices.ComDefaultInterface(typeof(System._AppDomain)) System.Runtime.InteropServices.ComVisible(true)

Represents an application domain, which is an isolated environment where applications execute.

Application domains, which are represented by objects, provide isolation, unloading, and security boundaries for executing managed code.

Multiple application domains can run in a single process; however, there is not a one-to-one correlation between application domains and threads. Several threads can belong to a single application domain, and while a given thread is not confined to a single application domain, at any given time, a thread executes in a single application domain.

Application domains are created using the method. instances are used to load and execute assemblies (). When a is no longer in use, it can be unloaded.

The class implements a set of events to enable applications to respond to the following conditions:

Condition
Event

An assembly was loaded.

An application domain will be unloaded.
An unhandled exception was thrown.
- Property
  System.ActivationContext To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("AppDomain.AppendPrivatePath has been deprecated. Please investigate the use of AppDomainSetup.PrivateBinPath instead.")
- Property
  System.ApplicationIdentity To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Property
  2.0.0.0
  4.0.0.0
  System.Security.Policy.ApplicationTrust To be added. To be added. To be added.
- Method
  System.String `` To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Runtime.InteropServices.ComVisible(false)
- Event
  System.AssemblyLoadEventHandler

  Raised when an assembly is loaded.

  This event is handled by a delegate. Information about the event is passed to the delegate in a instance.

  For additional information about events, see Partitions I and II of the CLI Specification.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Event
  System.ResolveEventHandler To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.String To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("AppDomain.ClearPrivatePath has been deprecated. Please investigate the use of AppDomainSetup.PrivateBinPath instead.")
- Method
  System.Void To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use AppDomainSetup.ShadowCopyDirectories")
- Method
  System.Runtime.Remoting.ObjectHandle `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Runtime.Remoting.ObjectHandle `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.AppDomain `` A containing the friendly name of the domain.

  Creates and returns a new application domain with the specified name.

  A representing the newly created application domain.

  The parameter is intended to identify the domain in a manner that is meaningful to humans. This string should be suitable for display in user interfaces.

  is . 0 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.AppDomain `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.AppDomain `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  2.0.0.0
  4.0.0.0
  System.AppDomain `` `` `` `` `System.ParamArray` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.AppDomain `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.AppDomain `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Runtime.Remoting.ObjectHandle `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Runtime.Remoting.ObjectHandle `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Runtime.Remoting.ObjectHandle `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Runtime.Remoting.ObjectHandle `` `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Object `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Object `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Object `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Object `` `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Runtime.Remoting.ObjectHandle `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Runtime.Remoting.ObjectHandle `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Runtime.Remoting.ObjectHandle `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Runtime.Remoting.ObjectHandle `` `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Object `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Object `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Object `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Object `` `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Property
  System.AppDomain To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.AssemblyBuilder `` `` `` To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  4.0.0.0
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.AssemblyBuilder `` `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. System.Obsolete("Declarative security for assembly level is no longer enforced")
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.AppDomainManager To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Event
  System.EventHandler

  Raised when a is about to be unloaded.

  This event is handled by a delegate. Information about the event is passed to the delegate in a instance. The delegate for this event can perform any termination activities before the application domain is unloaded.

  For additional information about events, see Partitions I and II of the CLI Specification.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.String To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Security.Policy.Evidence To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Int32 `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Int32 `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  4.0.0.0
  System.Int32 `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  System.Int32 `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  4.0.0.0
  System.Int32 `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added.
- Method
  System.Int32 `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Int32 `` To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Int32 `` `System.ParamArray` To be added. To be added. To be added. To be added. To be added.
- Method
  System.Int32 `` `` To be added. To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  4.0.0.0
  System.Int32 `` `System.ParamArray` To be added. To be added. To be added. To be added. To be added.
- Method
  System.Int32 `` `` `System.ParamArray` To be added. To be added. To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Int32 `` `` `System.ParamArray` To be added. To be added. To be added. To be added. To be added. To be added. 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Property
  System.String

  Gets the friendly name of the current instance.

  A containing the friendly name of the current application domain.

  This property is read-only.

  The friendly name of a instance created by an application is specified to the constructor. The friendly name of the default is the name of the assembly file loaded in the application domain. The friendly name is formed by stripping the directory information from the assembly's file name. For example, if the loaded assembly has the name "\MyAppDirectory\MyAssembly.exe" , the friendly name of the default application domain is "MyAssembly.exe" .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Reflection.Assembly[] To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Int32 To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread.'")
- Method
  System.Object `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Type To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Int32 To be added. To be added. To be added. 2.0.0.0 4.0.0.0 get: System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.WillNotCorruptState, System.Runtime.ConstrainedExecution.Cer.Success)
- Method
  System.Object To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  4.0.0.0
  System.Nullable<System.Boolean> `` To be added. To be added. To be added. To be added.
- Method
  System.Boolean To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Boolean To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  4.0.0.0
  System.Boolean To be added. To be added. To be added.
- Method
  System.Reflection.Assembly `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Assembly `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Assembly `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Assembly `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Assembly `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Reflection.Assembly `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Method
  System.Reflection.Assembly `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use an overload that does not take an Evidence parameter")
- Property
  4.0.0.0
  System.Boolean To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Int64 To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Int64 To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Int64 To be added. To be added. To be added.
- Property
  4.0.0.0
  System.TimeSpan To be added. To be added. To be added.
- Property
  4.0.0.0
  System.Security.PermissionSet To be added. To be added. To be added.
- Event
  System.EventHandler To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Event
  System.ResolveEventHandler To be added. To be added. 2.0.0.0 4.0.0.0
- Method
  System.Reflection.Assembly[] To be added. To be added. To be added. 2.0.0.0 4.0.0.0
- Property
  System.String To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Event
  System.ResolveEventHandler To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("AppDomain policy levels are obsolete")
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use AppDomainSetup.SetCachePath")
- Method
  System.Void `` `` To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  2.0.0.0
  4.0.0.0
  System.Void `` `` `` To be added. To be added. To be added. To be added. To be added.
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use AppDomainSetup.DynamicBase")
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use AppDomainSetup.ShadowCopyFiles")
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0 System.Obsolete("Use AppDomainSetup.ShadowCopyDirectories")
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.AppDomainSetup To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Property
  System.Boolean To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.Void `` `` `` `` `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Method
  System.String

  Returns a representation of the current instance.

  A containing information about the current instance.

  The string returned by this method includes the friendly name of the application domain.

  This method overrides .

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Event
  System.ResolveEventHandler To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Event
  System.UnhandledExceptionEventHandler

  Raised when an exception is not caught by the default application domain.

  This event is handled by a delegate. Information about the event is passed to the delegate in a instance. The delegate provides default handling for uncaught exceptions. When this event is not handled, the system default handler reports the exception to the user and might terminate the application. For additional information, see .

  This event is raised only for the application domain that is created by the system when an application is started. If an application creates additional application domains, specifying a delegate for this event in those applications domains has no effect.

  For additional information about events, see Partitions I and II of the CLI Specification.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Method
  System.Void `` A representing the application domain to be unloaded.

  Unloads the specified application domain.

  If the thread that invoked is running in , another thread is started to perform the unload operation. If cannot be unloaded, a is thrown in that thread, not the original thread that invoked . However, if the thread that invoked is running outside , that is the thread that receives the exception.

  The threads in are terminated using the method, which throws the thread an instance of . Although the thread should terminate promptly, it can continue executing for an unbounded amount of time in its clause.

  is . could not be unloaded. 0 1.0.5000.0 2.0.0.0 4.0.0.0 System.Runtime.ConstrainedExecution.ReliabilityContract(System.Runtime.ConstrainedExecution.Consistency.MayCorruptAppDomain, System.Runtime.ConstrainedExecution.Cer.MayFail)
0