Partilhar 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 fornecido, usando evidências, caminho base do aplicativo, 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 do aplicativo. Especifica um método de retorno de chamada que é invocado quando o domínio do 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 fornecido, usando evidências, caminho base do aplicativo, 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 do aplicativo.

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

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

CreateDomain(String, Evidence)

Cria um novo domínio de aplicativo com o nome fornecido 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 de aplicativo usando o nome, a evidência e as informações de configuraçã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 fornecido, usando evidências, caminho base do aplicativo, 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 do aplicativo. Especifica um método de retorno de chamada que é invocado quando o domínio do 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. Esse nome amigável pode ser exibido em interfaces de 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 que é executado no domínio do aplicativo. Passe null para usar a evidência do domínio do aplicativo atual.

appBasePath
String

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

appRelativeSearchPath
String

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

shadowCopyFiles
Boolean

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

adInit
AppDomainInitializer

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

adInitArgs
String[]

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

Retornos

O domínio do 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, as evidências do domínio do aplicativo atual serão usadas.

Para obter mais informações sobre a cópia de sombra, consulte ShadowCopyFiles e de 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 fornecido, usando evidências, caminho base do aplicativo, 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 do 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. Esse nome amigável pode ser exibido em interfaces de 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 que é executado no domínio do aplicativo. Passe null para usar a evidência do domínio do aplicativo atual.

appBasePath
String

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

appRelativeSearchPath
String

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

shadowCopyFiles
Boolean

Se true, uma cópia de sombra de um assembly será carregada nesse domínio de aplicativo.

Retornos

O domínio do 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, as evidências do domínio do aplicativo atual serão usadas.

Para obter mais informações sobre a cópia de sombra, consulte ShadowCopyFiles e de 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 de aplicativo usando o nome, a evidência, as informações de configuração do domínio do aplicativo, o conjunto de permissões padrão e a matriz de assemblies totalmente confiáveis.

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. Esse nome amigável pode ser exibido em interfaces de 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 que é executado no domínio do aplicativo. Passe null para usar a evidência do domínio do 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 que é concedido a todos os assemblies carregados no novo domínio do aplicativo que não têm concessões específicas.

fullTrustAssemblies
StrongName[]

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

Retornos

O domínio do 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 propriedade ApplicationBase do objeto AppDomainSetup que você fornece para info. Caso contrário, uma exceção será gerada.

Se securityInfo não for fornecido, as evidências do domínio do aplicativo atual serão usadas.

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

Aplica-se a

CreateDomain(String, Evidence)

Cria um novo domínio de aplicativo com o nome fornecido 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. Esse nome amigável pode ser exibido em interfaces de 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 que é executado no domínio do aplicativo. Passe null para usar a evidência do domínio do aplicativo atual.

Retornos

O domínio do 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 informações de AppDomainSetup do domínio de aplicativo padrão.

Se securityInfo não for fornecido, as evidências do domínio do aplicativo atual serão usadas.

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 do 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 parâmetro friendlyName destina-se a identificar o domínio de uma maneira significativa para os humanos. Essa cadeia de caracteres deve ser adequada para exibição em interfaces do usuário.

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

Confira também

Aplica-se a

CreateDomain(String, Evidence, AppDomainSetup)

Cria um novo domínio de aplicativo usando o nome, a evidência e as informações de configuraçã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. Esse nome amigável pode ser exibido em interfaces de 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 que é executado no domínio do aplicativo. Passe null para usar a evidência do domínio do aplicativo atual.

info
AppDomainSetup

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

Retornos

O domínio do 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 informações de AppDomainSetup do domínio de aplicativo padrão.

Se securityInfo não for fornecido, as evidências do domínio do aplicativo atual serão usadas.

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