Compartilhar via


AppDomainSetup.ApplicationBase Propriedade

Definição

Obtém o nome do diretório que contém o aplicativo.

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

Valor da propriedade

O nome do diretório base do aplicativo.

Implementações

Exemplos

O exemplo a seguir demonstra como usar a ApplicationBase propriedade para definir o local em que o carregador de assembly começa a sondar assemblies a serem carregados em um novo domínio de aplicativo.

Observação

Você deve garantir que a pasta especificada exista.

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\

Comentários

O diretório base do aplicativo é onde o gerenciador de assembly começa a investigar assemblies.

A ApplicationBase propriedade pode influenciar quais permissões são concedidas a um domínio de aplicativo. Por exemplo, um domínio de aplicativo proveniente do computador local normalmente recebe confiança total com base em sua localização de origem. No entanto, se a ApplicationBase propriedade desse AppDomain for definida como o nome completo de um diretório de intranet, a ApplicationBase configuração restringirá as permissões concedidas ao domínio do aplicativo a uma concessão LocalIntranet, mesmo que o domínio do aplicativo realmente tenha origem no computador local.

Aplica-se a