.NET Framework Class Library
AppDomain..::.BaseDirectory Property

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

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

Visual Basic (Declaration)
Public ReadOnly Property BaseDirectory As String
Visual Basic (Usage)
Dim instance As AppDomain
Dim value As String

value = instance.BaseDirectory
C#
public string BaseDirectory { get; }
Visual C++
public:
virtual property String^ BaseDirectory {
    String^ get () sealed;
}
JScript
public final function get BaseDirectory () : String

Property Value

Type: System..::.String
The base directory that the assembly resolver uses to probe for assemblies.

Implements

_AppDomain..::.BaseDirectory
Exceptions

ExceptionCondition
AppDomainUnloadedException

The operation is attempted on an unloaded application domain.

Remarks

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

Examples

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.

Visual Basic
Imports System
Imports System.Reflection
Imports System.Security.Policy
 'for evidence object

Class ADSetup

   Public Shared Sub Main()
      ' Create the application domain setup information.
      Dim domaininfo As New AppDomainSetup()
      domaininfo.ConfigurationFile = System.Environment.CurrentDirectory + "ADSetup.exe.config"
      domaininfo.ApplicationBase = System.Environment.CurrentDirectory

      'Create evidence for the new appdomain from evidence of the current application domain.
      Dim adevidence As Evidence = AppDomain.CurrentDomain.Evidence

      ' Create appdomain.
      Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", adevidence, domaininfo)

      ' Write out the application domain information.
      Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
      Console.WriteLine(("child domain: " + domain.FriendlyName))
      Console.WriteLine()
      Console.WriteLine(("Configuration file is: " + domain.SetupInformation.ConfigurationFile))
      Console.WriteLine(("Application Base Directory is: " + domain.BaseDirectory))

      AppDomain.Unload(domain)
   End Sub 
End Class 
C#
using System;
using System.Reflection;
using System.Security.Policy;  

class ADSetup
{
    public static void Main()
    {
        // Create application domain setup information
        AppDomainSetup domaininfo = new AppDomainSetup();
        domaininfo.ConfigurationFile = System.Environment.CurrentDirectory + "ADSetup.exe.config";
        domaininfo.ApplicationBase = 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: " + AppDomain.CurrentDomain.FriendlyName);
        Console.WriteLine("child domain: " + domain.FriendlyName);
        Console.WriteLine();
        Console.WriteLine("Configuration file is: " + domain.SetupInformation.ConfigurationFile);
        Console.WriteLine("Application Base Directory is: " + domain.BaseDirectory);

        AppDomain.Unload(domain);
    }
}
Visual C++
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 );
}

.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Page view tracker