AppDomain.BaseDirectory プロパティ

定義

アセンブリを探すためにアセンブリ リゾルバーが使用したベース ディレクトリを取得します。Gets the base directory that the assembly resolver uses to probe for assemblies.

public:
 property System::String ^ BaseDirectory { System::String ^ get(); };
public string BaseDirectory { get; }
member this.BaseDirectory : string
Public ReadOnly Property BaseDirectory As String

プロパティ値

アセンブリを探すためにアセンブリ リゾルバーが使用するベース ディレクトリ。The base directory that the assembly resolver uses to probe for assemblies.

実装

例外

アンロードされたアプリケーション ドメインで操作しようとします。The operation is attempted on an unloaded application domain.

次のコード例では、ドメインに読み込むアセンブリを検索するときに使用するベースディレクトリを指定して、新しいアプリケーションドメインを作成します。The following code example creates a new application domain, specifying a base directory to use when searching for assemblies to load into the domain. この例では、BaseDirectory プロパティを使用して、コンソールに表示するベースディレクトリパスを取得します。The example then uses the BaseDirectory property to obtain the base directory path, for display to the console.

using namespace System;
using namespace System::IO;
using namespace System::Reflection;
using namespace System::Security::Policy;    // For Evidence object.

int main()
{
   
   // Create application domain setup information
   AppDomainSetup^ domaininfo = gcnew AppDomainSetup;
   domaininfo->ConfigurationFile = String::Format("{0}{1}ADSetup.exe.config", 
                                                  Environment::CurrentDirectory,
                                                  Path::DirectorySeparatorChar);
   domaininfo->ApplicationBase = String::Format("{0}", System::Environment::CurrentDirectory);
   
   //Create evidence for the new appdomain from evidence of the current application domain
   Evidence^ adevidence = AppDomain::CurrentDomain->Evidence;
   
   // Create appdomain
   AppDomain^ domain = AppDomain::CreateDomain("Domain2", adevidence, domaininfo);
   
   // Display application domain information
   Console::WriteLine("Host domain: {0}", AppDomain::CurrentDomain->FriendlyName);
   Console::WriteLine("Child domain: {0}", domain->FriendlyName);
   Console::WriteLine();
   Console::WriteLine("Configuration file: {0}", domain->SetupInformation->ConfigurationFile);
   Console::WriteLine( "Application Base Directory: {0}", domain->BaseDirectory);
   
   AppDomain::Unload(domain);
}
// The example displays output like the following:
//    Host domain: adsetup.exe
//    Child domain: Domain2
//    
//    Configuration file: C:\Test\ADSetup.exe.config
//    Application Base Directory: C:\Test
using System;
using System.IO;
using System.Reflection;
using System.Security.Policy;  

class ADSetup
{
    public static void Main()
    {
        // Create application domain setup information
        var domaininfo = new AppDomainSetup();
        domaininfo.ConfigurationFile = System.Environment.CurrentDirectory + 
                                       Path.DirectorySeparatorChar +
                                       "ADSetup.exe.config";
        domaininfo.ApplicationBase = System.Environment.CurrentDirectory;

        //Create evidence for the new appdomain from evidence of the current application domain
        Evidence adEvidence = AppDomain.CurrentDomain.Evidence;

        // Create appdomain
        AppDomain domain = AppDomain.CreateDomain("Domain2", adEvidence, domaininfo);

        // Display application domain information.
        Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
        Console.WriteLine("Child domain: " + domain.FriendlyName);
        Console.WriteLine();
        Console.WriteLine("Configuration file: " + domain.SetupInformation.ConfigurationFile);
        Console.WriteLine("Application Base Directory: " + domain.BaseDirectory);

        AppDomain.Unload(domain);
    }
}
// The example displays output like the following:
//    Host domain: adsetup.exe
//    Child domain: Domain2
//    
//    Configuration file: C:\Test\ADSetup.exe.config
//    Application Base Directory: C:\Test
Imports System.IO
Imports System.Reflection
Imports System.Security.Policy

Module Example
   Public Sub Main()
      ' Create the application domain setup information.
      Dim domaininfo As New AppDomainSetup()
      domaininfo.ConfigurationFile = Environment.CurrentDirectory + 
                                    Path.DirectorySeparatorChar + 
                                     "ADSetup.exe.config"
      domaininfo.ApplicationBase = Environment.CurrentDirectory
      
      'Create evidence for the new appdomain from evidence of the current application domain.
      Dim adEvidence As Evidence = AppDomain.CurrentDomain.Evidence
      
      ' Create appdomain.
      Dim domain As AppDomain = AppDomain.CreateDomain("Domain2", adevidence, domaininfo)
      
      ' Display the application domain information.
      Console.WriteLine(("Host domain: " + AppDomain.CurrentDomain.FriendlyName))
      Console.WriteLine(("Child domain: " + domain.FriendlyName))
      Console.WriteLine()
      Console.WriteLine(("Configuration file: " + domain.SetupInformation.ConfigurationFile))
      Console.WriteLine(("Application Base Directory: " + domain.BaseDirectory))
     
      AppDomain.Unload(domain)
   End Sub 
End Module 
' The example displays output like the following:
'    Host domain: adsetup.exe
'    Child domain: Domain2
'    
'    Configuration file: C:\Test\ADSetup.exe.config
'    Application Base Directory: C:\Test

注釈

このプロパティは、AppDomainSetup.ApplicationBase プロパティに対応しています。This property corresponds to the AppDomainSetup.ApplicationBase property. また、文字列 "APPBASE" を使用して GetData メソッドを使用して取得することもできます。It can also be retrieved using the GetData method with the string "APPBASE".

セキュリティ

FileIOPermission
パス自体の情報にアクセスする場合は。パスの形式が "file://"、"\"、または "c:\" のいずれかである場合を含みます。for access to the information in the path itself, including if the path is in the form "file://" or \\UNC\dir or "c:\". 関連付けられた列挙型: PathDiscoveryAssociated enumerations: PathDiscovery.

適用対象

こちらもご覧ください