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 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.