英語で読む

次の方法で共有


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 、アプリケーション ドメインに付与されるアクセス許可に影響を与える可能性があります。 たとえば、ローカル コンピューターから送信されたアプリケーション ドメインは、通常、元の場所に基づいて完全な信頼を受け取ります。 ただし、 の プロパティがAppDomainイントラネット ディレクトリの完全な名前に設定されている場合ApplicationBase、アプリケーション ドメインが実際にローカル コンピューターから発信されている場合でも、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