如何:配置应用程序域

您可以使用 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();
}

请参见

概念

承载概述

对应用程序域进行编程

其他资源

使用应用程序域