AppDomain.BaseDirectory Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the base directory that the assembly resolver uses to probe for assemblies.
public:
property System::String ^ BaseDirectory { System::String ^ get(); };
public string BaseDirectory { get; }
public string? BaseDirectory { get; }
member this.BaseDirectory : string
Public ReadOnly Property BaseDirectory As String
Property Value
The base directory that the assembly resolver uses to probe for assemblies.
Implements
Exceptions
The operation is attempted on an unloaded application ___domain.
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.
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
using System;
using System.IO;
using System.Reflection;
using System.Security.Policy;
class ADSetupSnippet
{
public static void Main()
{
// Create application ___domain setup information
var domaininfo = new AppDomainSetup();
domaininfo.ConfigurationFile = Path.Combine(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("Domain2", adEvidence, domaininfo);
// Display application ___domain information.
Console.WriteLine("Host ___domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("Child ___domain: " + ___domain.FriendlyName);
Console.WriteLine();
Console.WriteLine("Configuration file: " + ___domain.SetupInformation.ConfigurationFile);
Console.WriteLine("Application Base Directory: " + ___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
open System
open System.IO
// Create application ___domain setup information
let domaininfo = AppDomainSetup()
domaininfo.ConfigurationFile <- Environment.CurrentDirectory + string Path.DirectorySeparatorChar + "ADSetup.exe.config"
domaininfo.ApplicationBase <- Environment.CurrentDirectory
//Create evidence for the new appdomain from evidence of the current application ___domain
let adEvidence = AppDomain.CurrentDomain.Evidence
// Create appdomain
let ___domain = AppDomain.CreateDomain("Domain2", adEvidence, domaininfo)
// Display application ___domain information.
printfn $"Host ___domain: {AppDomain.CurrentDomain.FriendlyName}"
printfn $"Child ___domain: {___domain.FriendlyName}\n"
printfn $"Configuration file: {___domain.SetupInformation.ConfigurationFile}"
printfn $"Application Base Directory: {___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
Imports System.IO
Imports System.Reflection
Imports System.Security.Policy
Module Example
Public Sub Main()
' Create the application ___domain setup information.
Dim domaininfo As New AppDomainSetup()
domaininfo.ConfigurationFile = Path.Combine(Environment.CurrentDirectory, "ADSetup.exe.config")
domaininfo.ApplicationBase = 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("Domain2", adevidence, domaininfo)
' Display the application ___domain information.
Console.WriteLine(("Host ___domain: " + AppDomain.CurrentDomain.FriendlyName))
Console.WriteLine(("Child ___domain: " + ___domain.FriendlyName))
Console.WriteLine()
Console.WriteLine(("Configuration file: " + ___domain.SetupInformation.ConfigurationFile))
Console.WriteLine(("Application Base Directory: " + ___domain.BaseDirectory))
AppDomain.Unload(___domain)
End Sub
End Module
' 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
Remarks
This property corresponds to the AppDomainSetup.ApplicationBase property. It can also be retrieved using the GetData method with the string "APPBASE".