Share via


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
[C#]
using System;
using System.Reflection;
class AppDomain3
{
   public static void Main()
   {
   //Create the new application ___domain.
   AppDomain ___domain = AppDomain.CreateDomain("MyDomain", null);
            //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);
   }
}

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
[C#]
using System;
using System.Reflection;
class AppDomain5
{
public static void Main()
{
 // Application ___domain setup information.
 AppDomainSetup domaininfo = new AppDomainSetup();
 domaininfo.ApplicationBase = "f:\\work\\development\\latest";
 domaininfo.ConfigurationFile = "f:\\work\\development\\latest\\appdomain5.exe.config";

 // Creates the application ___domain.
 AppDomain ___domain = AppDomain.CreateDomain("MyDomain", null, 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);
   }
}

See Also

Hosting the Common Language Runtime | Programming with Application Domains | Using Application Domains