AppDomain.CreateDomain Método

Definição

Cria um novo domínio de aplicativo.

Sobrecargas

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

Cria um novo domínio de aplicação com o nome próprio, usando evidência, caminho da base de aplicação, caminho de pesquisa relativo e um parâmetro que especifica se uma cópia sombra de um assembly deve ser carregada no domínio da aplicação. Especifica um método de callback que é invocado quando o domínio da aplicação é inicializado, e um array de argumentos de string para passar o método de callback.

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

Cria um novo domínio de aplicação com o nome próprio, usando evidência, caminho da base de aplicação, caminho de pesquisa relativo e um parâmetro que especifica se uma cópia sombra de um assembly deve ser carregada no domínio da aplicação.

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

Cria um novo domínio de aplicação usando o nome especificado, evidências, informação de configuração do domínio de aplicação, conjunto de permissões padrão e array de assemblies totalmente confiáveis.

CreateDomain(String, Evidence)

Cria um novo domínio de aplicação com o nome dado usando a evidência fornecida.

CreateDomain(String)
Obsoleto.

Cria um novo domínio de aplicação com o nome especificado.

CreateDomain(String, Evidence, AppDomainSetup)

Cria um novo domínio de aplicação usando o nome especificado, as evidências e a informação de configuração do domínio de aplicação.

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

Cria um novo domínio de aplicação com o nome próprio, usando evidência, caminho da base de aplicação, caminho de pesquisa relativo e um parâmetro que especifica se uma cópia sombra de um assembly deve ser carregada no domínio da aplicação. Especifica um método de callback que é invocado quando o domínio da aplicação é inicializado, e um array de argumentos de string para passar o método de callback.

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 de utilizador para identificar o domínio. Para obter mais informações, veja FriendlyName.

securityInfo
Evidence

Evidências que estabelecem a identidade do código que corre no domínio da aplicação. Passe null para usar a evidência do domínio de aplicação atual.

appBasePath
String

O diretório base que o resolvedor assembly usa para sondar assemblys. Para obter mais informações, veja BaseDirectory.

appRelativeSearchPath
String

O caminho relativo ao diretório base onde o resolvedor assembly deve sondar para assemblys privadas. Para obter mais informações, veja RelativeSearchPath.

shadowCopyFiles
Boolean

true para carregar uma cópia sombra de um assembly no domínio da aplicação.

adInit
AppDomainInitializer

Um AppDomainInitializer delegado que representa um método de callback para invocar quando o novo AppDomain objeto é inicializado.

adInitArgs
String[]

Um array de argumentos de string a ser passado para o callback representado por adInit, quando o novo AppDomain objeto é inicializado.

Devoluções

O domínio de aplicação recém-criado.

Exceções

friendlyName é null.

Observações

O método representado por adInit é executado no contexto do domínio de aplicação recém-criado.

Se securityInfo não for fornecida, utiliza-se a evidência do domínio de aplicação atual.

Para mais informações sobre shadow copying, consulte ShadowCopyFilese Shadow Copying Assemblies.

Importante

Não use esta sobrecarga de métodos para criar domínios de aplicação em sandbox. A partir do .NET Framework 4, a evidência fornecida para securityInfo deixa de afetar o conjunto de subsídios do domínio da candidatura. Use a CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) sobrecarga de métodos para criar domínios de aplicação em formato sandbox.

Aplica-se a

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

Cria um novo domínio de aplicação com o nome próprio, usando evidência, caminho da base de aplicação, caminho de pesquisa relativo e um parâmetro que especifica se uma cópia sombra de um assembly deve ser carregada no domínio da aplicação.

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 de utilizador para identificar o domínio. Para obter mais informações, veja FriendlyName.

securityInfo
Evidence

Evidências que estabelecem a identidade do código que corre no domínio da aplicação. Passe null para usar a evidência do domínio de aplicação atual.

appBasePath
String

O diretório base que o resolvedor assembly usa para sondar assemblys. Para obter mais informações, veja BaseDirectory.

appRelativeSearchPath
String

O caminho relativo ao diretório base onde o resolvedor assembly deve sondar para assemblys privadas. Para obter mais informações, veja RelativeSearchPath.

shadowCopyFiles
Boolean

Se true, uma cópia sombra de um assembly for carregada neste domínio de aplicação.

Devoluções

O domínio de aplicação recém-criado.

Exceções

friendlyName é null.

Exemplos

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

// 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)

Observações

Se securityInfo não for fornecida, utiliza-se a evidência do domínio de aplicação atual.

Para mais informações sobre shadow copying, consulte ShadowCopyFilese Shadow Copying Assemblies.

Importante

Não use esta sobrecarga de métodos para criar domínios de aplicação em sandbox. A partir do .NET Framework 4, a evidência fornecida para securityInfo deixa de afetar o conjunto de subsídios do domínio da candidatura. Use a CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) sobrecarga de métodos para criar domínios de aplicação em formato sandbox.

Aplica-se a

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

Cria um novo domínio de aplicação usando o nome especificado, evidências, informação de configuração do domínio de aplicação, conjunto de permissões padrão e array 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. Este nome amigável pode ser exibido nas interfaces de utilizador para identificar o domínio. Para mais informações, consulte a descrição de FriendlyName.

securityInfo
Evidence

Evidências que estabelecem a identidade do código que corre no domínio da aplicação. Passe null para usar a evidência do domínio de aplicação atual.

info
AppDomainSetup

Um objeto que contém informação de inicialização do domínio da aplicação.

grantSet
PermissionSet

Um conjunto de permissões por defeito que é concedido a todos os assemblies carregados no novo domínio de aplicação que não tenham concessões específicas.

fullTrustAssemblies
StrongName[]

Um conjunto de nomes fortes que representam assemblies a serem considerados totalmente confiáveis no novo domínio de aplicação.

Devoluções

O domínio de aplicação recém-criado.

Exceções

friendlyName é null.

O domínio de aplicação é null.

-ou-

A ApplicationBase propriedade não é definida no AppDomainSetup objeto que é fornecido para info.

Observações

Deve definir a ApplicationBase propriedade do AppDomainSetup objeto que fornece para info. Caso contrário, uma exceção é lançada.

Se securityInfo não for fornecida, utiliza-se a evidência do domínio de aplicação atual.

A informação fornecida para grantSet e fullTrustAssemblies é usada para criar um ApplicationTrust objeto para o novo domínio de aplicação.

Aplica-se a

CreateDomain(String, Evidence)

Cria um novo domínio de aplicação com o nome dado 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 de utilizador para identificar o domínio. Para obter mais informações, veja FriendlyName.

securityInfo
Evidence

Evidências que estabelecem a identidade do código que corre no domínio da aplicação. Passe null para usar a evidência do domínio de aplicação atual.

Devoluções

O domínio de aplicação recém-criado.

Exceções

friendlyName é null.

Exemplos

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

// 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)

Observações

Esta sobrecarga de métodos utiliza a AppDomainSetup informação do domínio de aplicação predefinido.

Se securityInfo não for fornecida, utiliza-se a evidência do domínio de aplicação atual.

Importante

Não use esta sobrecarga de métodos para criar domínios de aplicação em sandbox. A partir do .NET Framework 4, a evidência fornecida para securityInfo deixa de afetar o conjunto de subsídios do domínio da candidatura. Use a CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) sobrecarga de métodos para criar domínios de aplicação em formato sandbox.

Aplica-se a

CreateDomain(String)

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

Atenção

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

Cria um novo domínio de aplicação com o nome especificado.

public:
 static AppDomain ^ CreateDomain(System::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);
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}")>]
static member CreateDomain : string -> AppDomain
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.

Devoluções

O domínio de aplicação recém-criado.

Atributos

Exceções

friendlyName é null.

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

Exemplos

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

// 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)

Observações

O friendlyName parâmetro destina-se a identificar o domínio de uma forma que seja significativa para os humanos. Esta cadeia deve ser adequada para exibição em interfaces de utilizador.

Esta sobrecarga de métodos utiliza a AppDomainSetup informação do domínio de aplicação predefinido.

Ver também

Aplica-se a

CreateDomain(String, Evidence, AppDomainSetup)

Cria um novo domínio de aplicação usando o nome especificado, as evidências e a informação de configuração do domínio de aplicação.

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 de utilizador para identificar o domínio. Para obter mais informações, veja FriendlyName.

securityInfo
Evidence

Evidências que estabelecem a identidade do código que corre no domínio da aplicação. Passe null para usar a evidência do domínio de aplicação atual.

info
AppDomainSetup

Um objeto que contém informação de inicialização do domínio da aplicação.

Devoluções

O domínio de aplicação recém-criado.

Exceções

friendlyName é null.

Exemplos

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

// 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)

Observações

Se info não for fornecido, esta sobrecarga de métodos utiliza a AppDomainSetup informação do domínio de aplicação predefinido.

Se securityInfo não for fornecida, utiliza-se a evidência do domínio de aplicação atual.

Importante

Não use esta sobrecarga de métodos para criar domínios de aplicação em sandbox. A partir do .NET Framework 4, a evidência fornecida para securityInfo deixa de afetar o conjunto de subsídios do domínio da candidatura. Use a CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) sobrecarga de métodos para criar domínios de aplicação em formato sandbox.

Aplica-se a