AppDomain::CreateDomain Method (String^, Evidence^, String^, String^, Boolean)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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.

Namespace:   System
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 null 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.

Return Value

Type: System::AppDomain^

The newly created application domain.

Exception Condition
ArgumentNullException

friendlyName is null.

If securityInfo is not supplied, the evidence from the current application domain is used.

For more information about shadow copying, see ShadowCopyFilesand Shadow Copying Assemblies.

System_CAPS_importantImportant

Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 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.

.NET Framework
Available since 1.1
Return to top
Show: