using namespace System;
using namespace System::Reflection;
using namespace System::Security::Policy;
//for evidence Object
int main()
{
// Create application domain setup information
AppDomainSetup^ domaininfo = gcnew AppDomainSetup;
domaininfo->ConfigurationFile = String::Format( "{0}ADSetup.exe.config", System::Environment::CurrentDirectory );
domaininfo->ApplicationBase = String::Format( "{0}", System::Environment::CurrentDirectory );
//Create evidence for the new appdomain from evidence of the current application domain
Evidence^ adevidence = AppDomain::CurrentDomain->Evidence;
// Create appdomain
AppDomain^ domain = AppDomain::CreateDomain( "MyDomain", adevidence, domaininfo );
// Write out application domain information
Console::WriteLine( "Host domain: {0}", AppDomain::CurrentDomain->FriendlyName );
Console::WriteLine( "child domain: {0}", domain->FriendlyName );
Console::WriteLine();
Console::WriteLine( "Configuration file is: {0}", domain->SetupInformation->ConfigurationFile );
Console::WriteLine( "Application Base Directory is: {0}", domain->BaseDirectory );
AppDomain::Unload( domain );
}