Retrieving Setup Information from an Application Domain 

Each instance of an application domain consists of both properties and AppDomainSetup information. You can retrieve setup information from an application domain using the System.AppDomain class. This class provides several members that retrieve configuration information about an application domain.

You can also query the AppDomainSetup object for the application domain to obtain setup information that was passed to the domain when it was created.

The following example creates a new application domain and then prints several member values to the console.

Imports System
Imports System.Reflection
Class AppDomain3
   Public Shared Sub Main()
      'Create the new application domain.
      Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing)
      'Output to the console.
      Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
      Console.WriteLine(("new domain: " + domain.FriendlyName))
      Console.WriteLine(("Application base is: " + domain.BaseDirectory))
      Console.WriteLine(("Relative search path is: " + domain.RelativeSearchPath))
      Console.WriteLine(("Shadow copy files is set to: " + domain.ShadowCopyFiles))
      AppDomain.Unload(domain)
   End Sub 'Main
End Class 'AppDomain3

The following example sets, and then retrieves, setup information for an application domain. Note that AppDomain.SetupInformation.ApplicationBase gets the configuration information.

Imports System
Imports System.Reflection
Class AppDomain5
   Public Shared Sub Main()
      ' Application domain setup information.
      Dim domaininfo As New AppDomainSetup()
      domaininfo.ApplicationBase = "f:\work\development\latest"
      domaininfo.ConfigurationFile = "f:\work\development\latest\appdomain5.exe.config"
      
      ' Creates the application domain.
      Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, domaininfo)
      
      ' Write the application domain information to the console.
      Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
      Console.WriteLine(("child domain: " + domain.FriendlyName))
      Console.WriteLine()
      Console.WriteLine(("Application base is: " + domain.SetupInformation.ApplicationBase))
      Console.WriteLine(("Configuration file is: " + domain.SetupInformation.ConfigurationFile))
      
      ' Unloads the application domain.
      AppDomain.Unload(domain)
   End Sub 'Main
End Class 'AppDomain5

See Also

Community Additions

ADD
Show: