AppDomainSetup.ApplicationBase 屬性

定義

取得包含應用程式之目錄的名稱。

C#
public string? ApplicationBase { get; }
C#
public string ApplicationBase { get; set; }

屬性值

應用程式基底目錄的名稱。

實作

範例

下列範例示範如何使用 ApplicationBase 屬性來設定元件載入器開始探查的位置,讓元件載入至新的應用程式域。

注意

您必須確定您指定的資料夾存在。

C#
using System;

class ADSetupInformation
{
    static void Main()
    {
        AppDomain root = AppDomain.CurrentDomain;

        AppDomainSetup setup = new AppDomainSetup();
        setup.ApplicationBase =
            root.SetupInformation.ApplicationBase + @"MyAppSubfolder\";

        AppDomain domain = AppDomain.CreateDomain("MyDomain", null, setup);

        Console.WriteLine("Application base of {0}:\r\n\t{1}",
            root.FriendlyName, root.SetupInformation.ApplicationBase);
        Console.WriteLine("Application base of {0}:\r\n\t{1}",
            domain.FriendlyName, domain.SetupInformation.ApplicationBase);

        AppDomain.Unload(domain);
    }
}

/* This example produces output similar to the following:

Application base of MyApp.exe:
        C:\Program Files\MyApp\
Application base of MyDomain:
        C:\Program Files\MyApp\MyAppSubfolder\
 */

備註

應用程式基底目錄是元件管理員開始探查元件的所在位置。

屬性 ApplicationBase 可能會影響授與應用程式域的許可權。 例如,源自本機電腦的應用程式域通常會根據其來源位置接收完全信任。 不過,如果 ApplicationBase 的 屬性 AppDomain 設定為內部網路目錄的完整名稱,則 ApplicationBase 此設定會將授與應用程式域的許可權限制為 LocalIntranet 授與,即使應用程式域實際上源自本機電腦也一樣。

適用於

產品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1