AppDomainSetup 클래스를 사용하면 새 응용 프로그램 도메인의 구성 정보를 공용 언어 런타임에 제공할 수 있습니다. 사용자 고유의 응용 프로그램도 메인을 만드는 경우 가장 중요한 속성은 ApplicationBase입니다. 다른 AppDomainSetup 속성은 런타임 호스트에서 특정 응용 프로그램 도메인을 구성하는 데 주로 사용됩니다.
ApplicationBase 속성은 응용 프로그램의 루트 디렉터리를 정의합니다. 형식 요청을 충족시켜기 위해 런타임은 이 형식이 포함된 어셈블리를 ApplicationBase 속성의 지정 디렉터리에서 검색합니다.
![]() |
---|
새 응용 프로그램 도메인은 작성자의 ApplicationBase 속성만을 상속합니다. |
다음 예제는 AppDomainSetup 클래스의 인스턴스를 만들고, 이 클래스를 사용하여 새 응용 프로그램 도메인을 만들고, 정보를 콘솔에 출력한 다음 응용 프로그램 도메인을 언로드합니다.
예제
Imports System
Imports System.Reflection
Class AppDomain4
Public Shared Sub Main()
' Create application ___domain setup information.
Dim domaininfo As new AppDomainSetup()
domaininfo.ApplicationBase = "f:\work\development\latest"
' Create the application ___domain.
Dim ___domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, domaininfo)
' Write application ___domain information to the console.
Console.WriteLine("Host ___domain: " + AppDomain.CurrentDomain.FriendlyName)
Console.WriteLine("child ___domain: " + ___domain.FriendlyName)
Console.WriteLine("Application base is: " + ___domain.SetupInformation.ApplicationBase)
' Unload the application ___domain.
AppDomain.Unload(___domain)
End Sub
End Class
using System;
using System.Reflection;
class AppDomain4
{
public static void Main()
{
// Create application ___domain setup information.
AppDomainSetup domaininfo = new AppDomainSetup();
domaininfo.ApplicationBase = "f:\\work\\development\\latest";
// Create the application ___domain.
AppDomain ___domain = AppDomain.CreateDomain("MyDomain", null, domaininfo);
// Write application ___domain information to the console.
Console.WriteLine("Host ___domain: " + AppDomain.CurrentDomain.FriendlyName);
Console.WriteLine("child ___domain: " + ___domain.FriendlyName);
Console.WriteLine("Application base is: " + ___domain.SetupInformation.ApplicationBase);
// Unload the application ___domain.
AppDomain.Unload(___domain);
}
}
using namespace System;
using namespace System::Reflection;
ref class AppDomain4
{
public:
static void Main()
{
// Create application ___domain setup information.
AppDomainSetup^ domaininfo = gcnew AppDomainSetup();
domaininfo->ApplicationBase = "f:\\work\\development\\latest";
// Create the application ___domain.
AppDomain^ ___domain = AppDomain::CreateDomain("MyDomain", nullptr, domaininfo);
// Write application ___domain information to the console.
Console::WriteLine("Host ___domain: " + AppDomain::CurrentDomain->FriendlyName);
Console::WriteLine("child ___domain: " + ___domain->FriendlyName);
Console::WriteLine("Application base is: " + ___domain->SetupInformation->ApplicationBase);
// Unload the application ___domain.
AppDomain::Unload(___domain);
}
};
int main()
{
AppDomain4::Main();
}