AppDomain::CreateDomain Method (String, Evidence, String, String, Boolean)
Creates a new application domain with the given name, using evidence, application base path, relative search path, and a parameter that specifies whether a shadow copy of an assembly is to be loaded into the application domain.
Assembly: mscorlib (in mscorlib.dll)
public: static AppDomain^ CreateDomain( String^ friendlyName, Evidence^ securityInfo, String^ appBasePath, String^ appRelativeSearchPath, bool shadowCopyFiles )
Parameters
- friendlyName
- Type: System::String
The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see FriendlyName.
- securityInfo
- Type: System.Security.Policy::Evidence
Evidence that establishes the identity of the code that runs in the application domain. Pass nullptr to use the evidence of the current application domain.
- appBasePath
- Type: System::String
The base directory that the assembly resolver uses to probe for assemblies. For more information, see BaseDirectory.
- appRelativeSearchPath
- Type: System::String
The path relative to the base directory where the assembly resolver should probe for private assemblies. For more information, see RelativeSearchPath.
- shadowCopyFiles
- Type: System::Boolean
If true, a shadow copy of an assembly is loaded into this application domain.
| Exception | Condition |
|---|---|
| ArgumentNullException | friendlyName is nullptr. |
If securityInfo is not supplied, the evidence from the current application domain is used.
For more information about shadow copying, see ShadowCopyFiles and Shadow Copying Assemblies.
Important |
|---|
Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework version 4, the evidence that is supplied for securityInfo no longer affects the grant set of the application domain. Use the CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, array<StrongName>) method overload to create sandboxed application domains. |
The following sample demonstrates, in general, how to create a domain using one of the CreateDomain overloads.
// Set up the AppDomainSetup AppDomainSetup^ setup = gcnew AppDomainSetup; setup->ApplicationBase = "(some directory)"; setup->ConfigurationFile = "(some file)"; // Set up the Evidence Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence; Evidence^ evidence = gcnew Evidence( baseEvidence ); evidence->AddAssembly( "(some assembly)" ); evidence->AddHost( "(some host)" ); // Create the AppDomain AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
- SecurityPermission
for the ability to create and manipulate an application domain. Associated enumeration: SecurityPermissionFlag::ControlAppDomain. Security action: Demand.
- SecurityPermission
to provide evidence. Associated enumeration: SecurityPermissionFlag::ControlEvidence.
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Important