AppDomain.CreateDomain Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.