Compartilhar via


AppDomain.CreateDomain Método

Definição

Cria um novo domínio de aplicativo.

Sobrecargas

CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Cria um novo domínio de aplicativo com o nome especificado, usando a evidência, o caminho base do aplicativo, o caminho de pesquisa relativo e um parâmetro que especifica se uma cópia de sombra de um assembly deve ser carregada no domínio de aplicativo. Especifica um método de retorno de chamada invocado quando o domínio de aplicativo é inicializado e uma matriz de argumentos de cadeia de caracteres para passar o método de retorno de chamada.

CreateDomain(String, Evidence, String, String, Boolean)

Cria um novo domínio de aplicativo com o nome especificado, usando a evidência, o caminho base do aplicativo, o caminho de pesquisa relativo e um parâmetro que especifica se uma cópia de sombra de um assembly deve ser carregada no domínio de aplicativo.

CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Cria um novo domínio do aplicativo usando o nome, evidência, informações de configuração do domínio do aplicativo, conjunto de permissões padrão e a matriz de assemblies totalmente confiáveis especificados.

CreateDomain(String, Evidence)

Cria um novo domínio do aplicativo com o nome especificado usando a evidência fornecida.

CreateDomain(String)
Obsoleto.

Cria um novo domínio de aplicativo com o nome especificado.

CreateDomain(String, Evidence, AppDomainSetup)

Cria um novo domínio do aplicativo usando o nome, evidência e informações de instalação do domínio do aplicativo especificados.

CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Cria um novo domínio de aplicativo com o nome especificado, usando a evidência, o caminho base do aplicativo, o caminho de pesquisa relativo e um parâmetro que especifica se uma cópia de sombra de um assembly deve ser carregada no domínio de aplicativo. Especifica um método de retorno de chamada invocado quando o domínio de aplicativo é inicializado e uma matriz de argumentos de cadeia de caracteres para passar o método de retorno de chamada.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo, System::String ^ appBasePath, System::String ^ appRelativeSearchPath, bool shadowCopyFiles, AppDomainInitializer ^ adInit, cli::array <System::String ^> ^ adInitArgs);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo, string appBasePath, string appRelativeSearchPath, bool shadowCopyFiles, AppDomainInitializer adInit, string[] adInitArgs);
static member CreateDomain : string * System.Security.Policy.Evidence * string * string * bool * AppDomainInitializer * string[] -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence, appBasePath As String, appRelativeSearchPath As String, shadowCopyFiles As Boolean, adInit As AppDomainInitializer, adInitArgs As String()) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio. Este nome amigável pode ser exibido nas interfaces do usuário para identificar o domínio. Para obter mais informações, consulte FriendlyName.

securityInfo
Evidence

Evidência que estabelece a identidade do código executado no domínio do aplicativo. Passe null para usar a evidência do domínio de aplicativo atual.

appBasePath
String

O diretório base usado pelo resolvedor de assembly para investigar assemblies. Para obter mais informações, consulte BaseDirectory.

appRelativeSearchPath
String

O caminho relativo ao diretório base em que o resolvedor do assembly deve investigar assemblies particulares. Para obter mais informações, consulte RelativeSearchPath.

shadowCopyFiles
Boolean

true para carregar uma cópia de sombra de um assembly no domínio de aplicativo.

adInit
AppDomainInitializer

Um delegado AppDomainInitializer que representa um método de retorno de chamada a ser invocado quando o novo objeto AppDomain for inicializado.

adInitArgs
String[]

Uma matriz de argumentos de cadeia de caracteres a serem passados para o retorno de chamada representado por adInit, quando o novo objeto AppDomain é inicializado.

Retornos

O domínio de aplicativo recém-criado.

Exceções

friendlyName é null.

Comentários

O método representado por adInit é executado no contexto do domínio do aplicativo recém-criado.

Se securityInfo não for fornecido, a evidência do domínio de aplicativo atual será usada.

Para obter mais informações sobre cópia de sombra, consulte ShadowCopyFiles e Assemblies de Cópia de Sombra.

Importante

Não use essa sobrecarga de método para criar domínios de aplicativo em área restrita. A partir do .NET Framework 4, a evidência fornecida para securityInfo não afeta mais o conjunto de concessões do domínio do aplicativo. Use a sobrecarga do método CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) para criar domínios de aplicativo em área restrita.

Aplica-se a

CreateDomain(String, Evidence, String, String, Boolean)

Cria um novo domínio de aplicativo com o nome especificado, usando a evidência, o caminho base do aplicativo, o caminho de pesquisa relativo e um parâmetro que especifica se uma cópia de sombra de um assembly deve ser carregada no domínio de aplicativo.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo, System::String ^ appBasePath, System::String ^ appRelativeSearchPath, bool shadowCopyFiles);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo, string appBasePath, string appRelativeSearchPath, bool shadowCopyFiles);
static member CreateDomain : string * System.Security.Policy.Evidence * string * string * bool -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence, appBasePath As String, appRelativeSearchPath As String, shadowCopyFiles As Boolean) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio. Este nome amigável pode ser exibido nas interfaces do usuário para identificar o domínio. Para obter mais informações, consulte FriendlyName.

securityInfo
Evidence

Evidência que estabelece a identidade do código executado no domínio do aplicativo. Passe null para usar a evidência do domínio de aplicativo atual.

appBasePath
String

O diretório base usado pelo resolvedor de assembly para investigar assemblies. Para obter mais informações, consulte BaseDirectory.

appRelativeSearchPath
String

O caminho relativo ao diretório base em que o resolvedor do assembly deve investigar assemblies particulares. Para obter mais informações, consulte RelativeSearchPath.

shadowCopyFiles
Boolean

Se for true, uma cópia de sombra de um assembly é carregada nesse domínio do aplicativo.

Retornos

O domínio de aplicativo recém-criado.

Exceções

friendlyName é null.

Exemplos

O exemplo a seguir demonstra, em geral, como criar um domínio usando uma das sobrecargas de CreateDomain.

// Set up the AppDomainSetup
AppDomainSetup^ setup = gcnew AppDomainSetup;
setup->ApplicationBase = "(some directory)";
setup->ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence;
Evidence^ evidence = gcnew Evidence( baseEvidence );
evidence->AddAssembly( "(some assembly)" );
evidence->AddHost( "(some host)" );

// Create the AppDomain
AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = "(some directory)";
setup.ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence evidence = new Evidence(baseEvidence);
evidence.AddAssembly("(some assembly)");
evidence.AddHost("(some host)");

// Create the AppDomain
AppDomain newDomain = AppDomain.CreateDomain("newDomain", evidence, setup);
open System
open System.Security.Policy

// Set up the AppDomainSetup
let setup = AppDomainSetup()
setup.ApplicationBase <- "(some directory)"
setup.ConfigurationFile <- "(some file)"

// Set up the Evidence
let baseEvidence = AppDomain.CurrentDomain.Evidence
let evidence = Evidence baseEvidence
evidence.AddAssembly "(some assembly)"
evidence.AddHost "(some host)" 

// Create the AppDomain
let newDomain = AppDomain.CreateDomain("newDomain", evidence, setup)
' Set up the AppDomainSetup
Dim setup As New AppDomainSetup()
setup.ApplicationBase = "(some directory)"
setup.ConfigurationFile = "(some file)"

' Set up the Evidence
Dim baseEvidence As Evidence = AppDomain.CurrentDomain.Evidence
Dim evidence As New Evidence(baseEvidence)
evidence.AddAssembly("(some assembly)")
evidence.AddHost("(some host)")

' Create the AppDomain
Dim newDomain As AppDomain = AppDomain.CreateDomain("newDomain", evidence, setup)

Comentários

Se securityInfo não for fornecido, a evidência do domínio de aplicativo atual será usada.

Para obter mais informações sobre cópia de sombra, consulte ShadowCopyFiles e Assemblies de Cópia de Sombra.

Importante

Não use essa sobrecarga de método para criar domínios de aplicativo em área restrita. A partir do .NET Framework 4, a evidência fornecida para securityInfo não afeta mais o conjunto de concessões do domínio do aplicativo. Use a sobrecarga do método CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) para criar domínios de aplicativo em área restrita.

Aplica-se a

CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Cria um novo domínio do aplicativo usando o nome, evidência, informações de configuração do domínio do aplicativo, conjunto de permissões padrão e a matriz de assemblies totalmente confiáveis especificados.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo, AppDomainSetup ^ info, System::Security::PermissionSet ^ grantSet, ... cli::array <System::Security::Policy::StrongName ^> ^ fullTrustAssemblies);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo, AppDomainSetup info, System.Security.PermissionSet grantSet, params System.Security.Policy.StrongName[] fullTrustAssemblies);
static member CreateDomain : string * System.Security.Policy.Evidence * AppDomainSetup * System.Security.PermissionSet * System.Security.Policy.StrongName[] -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence, info As AppDomainSetup, grantSet As PermissionSet, ParamArray fullTrustAssemblies As StrongName()) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio. Este nome amigável pode ser exibido nas interfaces do usuário para identificar o domínio. Para obter mais informações, consulte a descrição de FriendlyName.

securityInfo
Evidence

Evidência que estabelece a identidade do código executado no domínio do aplicativo. Passe null para usar a evidência do domínio de aplicativo atual.

info
AppDomainSetup

Um objeto que contém informações de inicialização do domínio do aplicativo.

grantSet
PermissionSet

Um conjunto de permissões padrão concedido a todos os assemblies carregados no novo domínio do aplicativo que não tem concessões específicas.

fullTrustAssemblies
StrongName[]

Uma matriz de nomes fortes que representa os assemblies a serem considerados totalmente confiáveis no novo domínio do aplicativo.

Retornos

O domínio de aplicativo recém-criado.

Exceções

friendlyName é null.

O domínio do aplicativo é null.

- ou -

A propriedade ApplicationBase não está definida no objeto AppDomainSetup fornecido para info.

Comentários

Você deve definir a ApplicationBase propriedade do AppDomainSetup objeto que você fornece para info. Caso contrário, uma exceção será gerada.

Se securityInfo não for fornecido, a evidência do domínio de aplicativo atual será usada.

As informações fornecidas para grantSet e fullTrustAssemblies são usadas para criar um ApplicationTrust objeto para o novo domínio do aplicativo.

Aplica-se a

CreateDomain(String, Evidence)

Cria um novo domínio do aplicativo com o nome especificado usando a evidência fornecida.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo);
static member CreateDomain : string * System.Security.Policy.Evidence -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio. Este nome amigável pode ser exibido nas interfaces do usuário para identificar o domínio. Para obter mais informações, consulte FriendlyName.

securityInfo
Evidence

Evidência que estabelece a identidade do código executado no domínio do aplicativo. Passe null para usar a evidência do domínio de aplicativo atual.

Retornos

O domínio de aplicativo recém-criado.

Exceções

friendlyName é null.

Exemplos

O exemplo a seguir demonstra, em geral, como criar um domínio usando uma das sobrecargas de CreateDomain.

// Set up the AppDomainSetup
AppDomainSetup^ setup = gcnew AppDomainSetup;
setup->ApplicationBase = "(some directory)";
setup->ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence;
Evidence^ evidence = gcnew Evidence( baseEvidence );
evidence->AddAssembly( "(some assembly)" );
evidence->AddHost( "(some host)" );

// Create the AppDomain
AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = "(some directory)";
setup.ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence evidence = new Evidence(baseEvidence);
evidence.AddAssembly("(some assembly)");
evidence.AddHost("(some host)");

// Create the AppDomain
AppDomain newDomain = AppDomain.CreateDomain("newDomain", evidence, setup);
open System
open System.Security.Policy

// Set up the AppDomainSetup
let setup = AppDomainSetup()
setup.ApplicationBase <- "(some directory)"
setup.ConfigurationFile <- "(some file)"

// Set up the Evidence
let baseEvidence = AppDomain.CurrentDomain.Evidence
let evidence = Evidence baseEvidence
evidence.AddAssembly "(some assembly)"
evidence.AddHost "(some host)" 

// Create the AppDomain
let newDomain = AppDomain.CreateDomain("newDomain", evidence, setup)
' Set up the AppDomainSetup
Dim setup As New AppDomainSetup()
setup.ApplicationBase = "(some directory)"
setup.ConfigurationFile = "(some file)"

' Set up the Evidence
Dim baseEvidence As Evidence = AppDomain.CurrentDomain.Evidence
Dim evidence As New Evidence(baseEvidence)
evidence.AddAssembly("(some assembly)")
evidence.AddHost("(some host)")

' Create the AppDomain
Dim newDomain As AppDomain = AppDomain.CreateDomain("newDomain", evidence, setup)

Comentários

Essa sobrecarga de método usa as AppDomainSetup informações do domínio do aplicativo padrão.

Se securityInfo não for fornecido, a evidência do domínio de aplicativo atual será usada.

Importante

Não use essa sobrecarga de método para criar domínios de aplicativo em área restrita. A partir do .NET Framework 4, a evidência fornecida para securityInfo não afeta mais o conjunto de concessões do domínio do aplicativo. Use a sobrecarga do método CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) para criar domínios de aplicativo em área restrita.

Aplica-se a

CreateDomain(String)

Origem:
AppDomain.cs
Origem:
AppDomain.cs
Origem:
AppDomain.cs

Cuidado

Creating and unloading AppDomains is not supported and throws an exception.

Cria um novo domínio de aplicativo com o nome especificado.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName);
public static AppDomain CreateDomain (string friendlyName);
[System.Obsolete("Creating and unloading AppDomains is not supported and throws an exception.", DiagnosticId="SYSLIB0024", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static AppDomain CreateDomain (string friendlyName);
static member CreateDomain : string -> AppDomain
[<System.Obsolete("Creating and unloading AppDomains is not supported and throws an exception.", DiagnosticId="SYSLIB0024", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member CreateDomain : string -> AppDomain
Public Shared Function CreateDomain (friendlyName As String) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio.

Retornos

O domínio de aplicativo recém-criado.

Atributos

Exceções

friendlyName é null.

Somente .NET Core e .NET 5+: Em todos os casos.

Exemplos

O exemplo a seguir demonstra, em geral, como criar um domínio usando uma das sobrecargas de CreateDomain.

// Set up the AppDomainSetup
AppDomainSetup^ setup = gcnew AppDomainSetup;
setup->ApplicationBase = "(some directory)";
setup->ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence;
Evidence^ evidence = gcnew Evidence( baseEvidence );
evidence->AddAssembly( "(some assembly)" );
evidence->AddHost( "(some host)" );

// Create the AppDomain
AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = "(some directory)";
setup.ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence evidence = new Evidence(baseEvidence);
evidence.AddAssembly("(some assembly)");
evidence.AddHost("(some host)");

// Create the AppDomain
AppDomain newDomain = AppDomain.CreateDomain("newDomain", evidence, setup);
open System
open System.Security.Policy

// Set up the AppDomainSetup
let setup = AppDomainSetup()
setup.ApplicationBase <- "(some directory)"
setup.ConfigurationFile <- "(some file)"

// Set up the Evidence
let baseEvidence = AppDomain.CurrentDomain.Evidence
let evidence = Evidence baseEvidence
evidence.AddAssembly "(some assembly)"
evidence.AddHost "(some host)" 

// Create the AppDomain
let newDomain = AppDomain.CreateDomain("newDomain", evidence, setup)
' Set up the AppDomainSetup
Dim setup As New AppDomainSetup()
setup.ApplicationBase = "(some directory)"
setup.ConfigurationFile = "(some file)"

' Set up the Evidence
Dim baseEvidence As Evidence = AppDomain.CurrentDomain.Evidence
Dim evidence As New Evidence(baseEvidence)
evidence.AddAssembly("(some assembly)")
evidence.AddHost("(some host)")

' Create the AppDomain
Dim newDomain As AppDomain = AppDomain.CreateDomain("newDomain", evidence, setup)

Comentários

O friendlyName parâmetro destina-se a identificar o domínio de uma maneira significativa para humanos. Essa cadeia de caracteres deve ser adequada para exibição em interfaces do usuário.

Essa sobrecarga de método usa as AppDomainSetup informações do domínio do aplicativo padrão.

Confira também

Aplica-se a

CreateDomain(String, Evidence, AppDomainSetup)

Cria um novo domínio do aplicativo usando o nome, evidência e informações de instalação do domínio do aplicativo especificados.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo, AppDomainSetup ^ info);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo, AppDomainSetup info);
static member CreateDomain : string * System.Security.Policy.Evidence * AppDomainSetup -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence, info As AppDomainSetup) As AppDomain

Parâmetros

friendlyName
String

O nome amigável do domínio. Este nome amigável pode ser exibido nas interfaces do usuário para identificar o domínio. Para obter mais informações, consulte FriendlyName.

securityInfo
Evidence

Evidência que estabelece a identidade do código executado no domínio do aplicativo. Passe null para usar a evidência do domínio de aplicativo atual.

info
AppDomainSetup

Um objeto que contém informações de inicialização do domínio do aplicativo.

Retornos

O domínio de aplicativo recém-criado.

Exceções

friendlyName é null.

Exemplos

O exemplo a seguir demonstra, em geral, como criar um domínio usando uma das sobrecargas de CreateDomain.

// Set up the AppDomainSetup
AppDomainSetup^ setup = gcnew AppDomainSetup;
setup->ApplicationBase = "(some directory)";
setup->ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence;
Evidence^ evidence = gcnew Evidence( baseEvidence );
evidence->AddAssembly( "(some assembly)" );
evidence->AddHost( "(some host)" );

// Create the AppDomain
AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
// Set up the AppDomainSetup
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = "(some directory)";
setup.ConfigurationFile = "(some file)";

// Set up the Evidence
Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence evidence = new Evidence(baseEvidence);
evidence.AddAssembly("(some assembly)");
evidence.AddHost("(some host)");

// Create the AppDomain
AppDomain newDomain = AppDomain.CreateDomain("newDomain", evidence, setup);
open System
open System.Security.Policy

// Set up the AppDomainSetup
let setup = AppDomainSetup()
setup.ApplicationBase <- "(some directory)"
setup.ConfigurationFile <- "(some file)"

// Set up the Evidence
let baseEvidence = AppDomain.CurrentDomain.Evidence
let evidence = Evidence baseEvidence
evidence.AddAssembly "(some assembly)"
evidence.AddHost "(some host)" 

// Create the AppDomain
let newDomain = AppDomain.CreateDomain("newDomain", evidence, setup)
' Set up the AppDomainSetup
Dim setup As New AppDomainSetup()
setup.ApplicationBase = "(some directory)"
setup.ConfigurationFile = "(some file)"

' Set up the Evidence
Dim baseEvidence As Evidence = AppDomain.CurrentDomain.Evidence
Dim evidence As New Evidence(baseEvidence)
evidence.AddAssembly("(some assembly)")
evidence.AddHost("(some host)")

' Create the AppDomain
Dim newDomain As AppDomain = AppDomain.CreateDomain("newDomain", evidence, setup)

Comentários

Se info não for fornecido, essa sobrecarga de método usará as AppDomainSetup informações do domínio de aplicativo padrão.

Se securityInfo não for fornecido, a evidência do domínio de aplicativo atual será usada.

Importante

Não use essa sobrecarga de método para criar domínios de aplicativo em área restrita. A partir do .NET Framework 4, a evidência fornecida para securityInfo não afeta mais o conjunto de concessões do domínio do aplicativo. Use a sobrecarga do método CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) para criar domínios de aplicativo em área restrita.

Aplica-se a