AppDomain::BaseDirectory Property

 
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.

Gets the base directory that the assembly resolver uses to probe for assemblies.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public:
property String^ BaseDirectory {
	virtual String^ get() sealed;
}

Property Value

Type: System::String^

The base directory that the assembly resolver uses to probe for assemblies.

Exception Condition
AppDomainUnloadedException

The operation is attempted on an unloaded application domain.

This property corresponds to the AppDomainSetup::ApplicationBase property. It can also be retrieved using the GetData method with the string "APPBASE".

The following code example creates a new application domain, specifying a base directory to use when searching for assemblies to load into the domain. The example then uses the BaseDirectory property to obtain the base directory path, for display to the console.

using namespace System;
using namespace System::IO;
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}{1}ADSetup.exe.config", 
                                                  Environment::CurrentDirectory,
                                                  Path::DirectorySeparatorChar);
   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("Domain2", adevidence, domaininfo);

   // Display application domain information
   Console::WriteLine("Host domain: {0}", AppDomain::CurrentDomain->FriendlyName);
   Console::WriteLine("Child domain: {0}", domain->FriendlyName);
   Console::WriteLine();
   Console::WriteLine("Configuration file: {0}", domain->SetupInformation->ConfigurationFile);
   Console::WriteLine( "Application Base Directory: {0}", domain->BaseDirectory);

   AppDomain::Unload(domain);
}
// The example displays output like the following:
//    Host domain: adsetup.exe
//    Child domain: Domain2
//    
//    Configuration file: C:\Test\ADSetup.exe.config
//    Application Base Directory: C:\Test

FileIOPermission

for access to the information in the path itself, including if the path is in the form "file://" or \\UNC\dir or "c:\". Associated enumerations: FileIOPermissionAccess::PathDiscovery.

.NET Framework
Available since 1.1
Return to top
Show: