更新 : 2007 年 11 月
アプリケーション ドメインの各インスタンスは、プロパティと AppDomainSetup 情報で構成されます。System.AppDomain クラスを使用して、アプリケーション ドメインからセットアップ情報を取得できます。このクラスは、アプリケーション ドメインについての構成情報を取得するいくつかのメンバを提供します。
アプリケーション ドメインの AppDomainSetup オブジェクトを問い合わせて、アプリケーション ドメインの作成時に渡されたセットアップ情報を取得することもできます。
新しいアプリケーション ドメインを作成し、いくつかのメンバ値をコンソールに出力する例を次に示します。
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
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);
}
}
アプリケーション ドメインのセットアップ情報を設定してから取得する例を次に示します。AppDomain.SetupInformation.ApplicationBase は構成情報を取得します。
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
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);
}
}