AppDomain.CreateDomain Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.