作法:設定應用程式定義域
注意
本文專屬於 .NET Framework。 其不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
您可以使用 AppDomainSetup 類別向 Common Language Runtime 提供新應用程式定義域的設定資訊。 建立您自己的應用程式定義域時,最重要的屬性是 ApplicationBase。 其他 AppDomainSetup 屬性主要是執行階段主機用來設定特定的應用程式定義域。
ApplicationBase 屬性會定義應用程式的根目錄。 當執行階段需要滿足類型要求時,它會探查組件在 ApplicationBase 屬性指定的目錄中是否包含該類型。
注意
新的應用程式定義域只繼承建立者的 ApplicationBase 屬性。
以下範例會建立 AppDomainSetup 類別的執行個體、使用此類別建立新的應用程式定義域、將資訊寫入主控台,再卸載應用程式定義域。
範例
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();
}
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);
}
}
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