AppDomainSetup.ApplicationBase 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得包含應用程式之目錄的名稱。
public:
property System::String ^ ApplicationBase { System::String ^ get(); };
public:
property System::String ^ ApplicationBase { System::String ^ get(); void set(System::String ^ value); };
public string? ApplicationBase { get; }
public string ApplicationBase { get; set; }
member this.ApplicationBase : string
member this.ApplicationBase : string with get, set
Public ReadOnly Property ApplicationBase As String
Public Property ApplicationBase As String
屬性值
應用程式基底目錄的名稱。
實作
範例
下列範例示範如何使用 ApplicationBase 屬性來設定元件載入器開始探查的位置,讓元件載入至新的應用程式域。
注意
您必須確定您指定的資料夾存在。
using namespace System;
int main()
{
AppDomain^ root = AppDomain::CurrentDomain;
AppDomainSetup^ setup = gcnew AppDomainSetup();
setup->ApplicationBase =
root->SetupInformation->ApplicationBase + "MyAppSubfolder\\";
AppDomain^ domain = AppDomain::CreateDomain("MyDomain", nullptr, 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\
*/
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\
*/
open System
let root = AppDomain.CurrentDomain
let setup = AppDomainSetup()
setup.ApplicationBase <-
root.SetupInformation.ApplicationBase + @"MyAppSubfolder\"
let domain = AppDomain.CreateDomain("MyDomain", null, setup)
printfn $"Application base of {root.FriendlyName}:\r\n\t{root.SetupInformation.ApplicationBase}"
printfn $"Application base of {domain.FriendlyName}:\r\n\t{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\
*)
Class ADSetupInformation
Shared Sub Main()
Dim root As AppDomain = AppDomain.CurrentDomain
Dim setup As New AppDomainSetup()
setup.ApplicationBase = _
root.SetupInformation.ApplicationBase & "MyAppSubfolder\"
Dim domain As AppDomain = AppDomain.CreateDomain("MyDomain", Nothing, setup)
Console.WriteLine("Application base of {0}:" & vbCrLf & vbTab & "{1}", _
root.FriendlyName, root.SetupInformation.ApplicationBase)
Console.WriteLine("Application base of {0}:" & vbCrLf & vbTab & "{1}", _
domain.FriendlyName, domain.SetupInformation.ApplicationBase)
AppDomain.Unload(domain)
End Sub
End Class
' 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 授與,即使應用程式域實際上源自本機電腦也一樣。