如何:配置应用程序域
注意
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
可以使用 AppDomainSetup 类为新应用程序域提供含配置信息的公共语言运行时。 创建自己的应用程序域时,最重要的属性是 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