AppDomain.CreateDomain Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un nuevo dominio de aplicación.
Sobrecargas
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[]) |
Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación. Especifica un método de devolución de llamada que se invoca cuando se inicializa el dominio de aplicación, así como una matriz de argumentos de cadena para pasar al método de devolución de llamada. |
CreateDomain(String, Evidence, String, String, Boolean) |
Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación. |
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) |
Crea un nuevo dominio de aplicación usando el nombre, la evidencia, la información de configuración del dominio de aplicación, el conjunto predeterminado de permisos y la matriz de ensamblados de plena confianza que se hayan especificado. |
CreateDomain(String, Evidence) |
Crea un nuevo dominio de aplicación con el nombre especificado mediante la evidencia proporcionada. |
CreateDomain(String) |
Obsoleto.
Crea un nuevo dominio de aplicación con el nombre especificado. |
CreateDomain(String, Evidence, AppDomainSetup) |
Crea un nuevo dominio de aplicación con el nombre especificado, la evidencia indicada y la correspondiente información de configuración. |
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])
Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación. Especifica un método de devolución de llamada que se invoca cuando se inicializa el dominio de aplicación, así como una matriz de argumentos de cadena para pasar al método de devolución de llamada.
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
Nombre descriptivo del dominio. Este nombre descriptivo puede mostrarse en las interfaces de usuario para identificar el dominio. Para obtener más información, vea FriendlyName.
- securityInfo
- Evidence
Evidencia que establece la identidad del código que se ejecuta en el dominio de la aplicación. Pase null
para que se use la evidencia del dominio de aplicación actual.
- appBasePath
- String
Directorio base que la resolución de ensamblado usa para buscar ensamblados. Para obtener más información, vea BaseDirectory.
- appRelativeSearchPath
- String
Ruta de acceso correspondiente al directorio base donde la resolución de ensamblado debe buscar ensamblados privados. Para obtener más información, vea RelativeSearchPath.
- shadowCopyFiles
- Boolean
Es true
para cargar una instantánea de un ensamblado en el dominio de aplicación.
- adInit
- AppDomainInitializer
Delegado AppDomainInitializer que representa un método de devolución de llamada que se va a invocar cuando se inicialice el nuevo objeto AppDomain.
- adInitArgs
- String[]
Matriz de argumentos de cadena que se va a pasar a la devolución de llamada que representa adInit
cuando se inicialice el nuevo objeto AppDomain.
Devoluciones
Dominio de aplicación recién creado.
Excepciones
friendlyName
es null
.
Comentarios
El método representado por adInit
se ejecuta en el contexto del dominio de aplicación recién creado.
Si securityInfo
no se proporciona, se usa la evidencia del dominio de aplicación actual.
Para obtener más información sobre la instantánea, vea ShadowCopyFiles y Ensamblados de instantáneas.
Importante
No use esta sobrecarga de método para crear dominios de aplicación de espacio aislado. A partir de .NET Framework 4, la evidencia proporcionada para securityInfo
ya no afecta al conjunto de concesión del dominio de aplicación. Use la sobrecarga del CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) método para crear dominios de aplicación de espacio aislado.
Se aplica a
CreateDomain(String, Evidence, String, String, Boolean)
Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación.
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
Nombre descriptivo del dominio. Este nombre descriptivo puede mostrarse en las interfaces de usuario para identificar el dominio. Para obtener más información, vea FriendlyName.
- securityInfo
- Evidence
Evidencia que establece la identidad del código que se ejecuta en el dominio de la aplicación. Pase null
para que se use la evidencia del dominio de aplicación actual.
- appBasePath
- String
Directorio base que la resolución de ensamblado usa para buscar ensamblados. Para obtener más información, vea BaseDirectory.
- appRelativeSearchPath
- String
Ruta de acceso correspondiente al directorio base donde la resolución de ensamblado debe buscar ensamblados privados. Para obtener más información, vea RelativeSearchPath.
- shadowCopyFiles
- Boolean
Si es true
, se carga una instantánea de un ensamblado en este dominio de aplicación.
Devoluciones
Dominio de aplicación recién creado.
Excepciones
friendlyName
es null
.
Ejemplos
En el ejemplo siguiente se muestra, en general, cómo crear un dominio mediante una de las 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)
Comentarios
Si securityInfo
no se proporciona, se usa la evidencia del dominio de aplicación actual.
Para obtener más información sobre la instantánea, vea ShadowCopyFiles y Ensamblados de instantáneas.
Importante
No use esta sobrecarga de método para crear dominios de aplicación de espacio aislado. A partir de .NET Framework 4, la evidencia proporcionada para securityInfo
ya no afecta al conjunto de concesión del dominio de aplicación. Use la sobrecarga del CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) método para crear dominios de aplicación de espacio aislado.
Se aplica a
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])
Crea un nuevo dominio de aplicación usando el nombre, la evidencia, la información de configuración del dominio de aplicación, el conjunto predeterminado de permisos y la matriz de ensamblados de plena confianza que se hayan especificado.
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
Nombre descriptivo del dominio. Este nombre descriptivo puede mostrarse en las interfaces de usuario para identificar el dominio. Para obtener más información, vea la descripción de FriendlyName.
- securityInfo
- Evidence
Evidencia que establece la identidad del código que se ejecuta en el dominio de la aplicación. Pase null
para que se use la evidencia del dominio de aplicación actual.
- info
- AppDomainSetup
Objeto que contiene la información de inicialización del dominio de aplicación.
- grantSet
- PermissionSet
Conjunto predeterminado de permisos que se concede a todos los ensamblados cargados en el nuevo dominio de aplicación que no tienen concesiones concretas.
- fullTrustAssemblies
- StrongName[]
Matriz de nombres seguros que representan ensamblados que se van a considerar de plena confianza en el nuevo dominio de aplicación.
Devoluciones
Dominio de aplicación recién creado.
Excepciones
friendlyName
es null
.
El dominio de aplicación es null
.
o bien
La propiedad ApplicationBase no se establece en el objeto AppDomainSetup que se proporciona para info
.
Comentarios
Debe establecer la ApplicationBase propiedad del AppDomainSetup objeto que proporcione para info
. De lo contrario, se inicia una excepción.
Si securityInfo
no se proporciona, se usa la evidencia del dominio de aplicación actual.
La información proporcionada para grantSet
y fullTrustAssemblies
se usa para crear un ApplicationTrust objeto para el nuevo dominio de aplicación.
Se aplica a
CreateDomain(String, Evidence)
Crea un nuevo dominio de aplicación con el nombre especificado mediante la evidencia proporcionada.
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
Nombre descriptivo del dominio. Este nombre descriptivo puede mostrarse en las interfaces de usuario para identificar el dominio. Para obtener más información, vea FriendlyName.
- securityInfo
- Evidence
Evidencia que establece la identidad del código que se ejecuta en el dominio de la aplicación. Pase null
para que se use la evidencia del dominio de aplicación actual.
Devoluciones
Dominio de aplicación recién creado.
Excepciones
friendlyName
es null
.
Ejemplos
En el ejemplo siguiente se muestra, en general, cómo crear un dominio mediante una de las 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)
Comentarios
Esta sobrecarga de método usa la AppDomainSetup información del dominio de aplicación predeterminado.
Si securityInfo
no se proporciona, se usa la evidencia del dominio de aplicación actual.
Importante
No use esta sobrecarga de método para crear dominios de aplicación de espacio aislado. A partir de .NET Framework 4, la evidencia proporcionada para securityInfo
ya no afecta al conjunto de concesión del dominio de aplicación. Use la sobrecarga del CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) método para crear dominios de aplicación de espacio aislado.
Se aplica a
CreateDomain(String)
Precaución
Creating and unloading AppDomains is not supported and throws an exception.
Crea un nuevo dominio de aplicación con el nombre 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
Nombre descriptivo del dominio.
Devoluciones
Dominio de aplicación recién creado.
- Atributos
Excepciones
friendlyName
es null
.
.NET Core y .NET 5+ solo: En todos los casos.
Ejemplos
En el ejemplo siguiente se muestra, en general, cómo crear un dominio mediante una de las 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)
Comentarios
El friendlyName
parámetro está pensado para identificar el dominio de una manera significativa para los seres humanos. Esta cadena debe ser adecuada para mostrarla en interfaces de usuario.
Esta sobrecarga de método usa la AppDomainSetup información del dominio de aplicación predeterminado.
Consulte también
Se aplica a
CreateDomain(String, Evidence, AppDomainSetup)
Crea un nuevo dominio de aplicación con el nombre especificado, la evidencia indicada y la correspondiente información de configuración.
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
Nombre descriptivo del dominio. Este nombre descriptivo puede mostrarse en las interfaces de usuario para identificar el dominio. Para obtener más información, vea FriendlyName.
- securityInfo
- Evidence
Evidencia que establece la identidad del código que se ejecuta en el dominio de la aplicación. Pase null
para que se use la evidencia del dominio de aplicación actual.
- info
- AppDomainSetup
Objeto que contiene la información de inicialización del dominio de aplicación.
Devoluciones
Dominio de aplicación recién creado.
Excepciones
friendlyName
es null
.
Ejemplos
En el ejemplo siguiente se muestra, en general, cómo crear un dominio mediante una de las 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)
Comentarios
Si info
no se proporciona, esta sobrecarga de método usa la AppDomainSetup información del dominio de aplicación predeterminado.
Si securityInfo
no se proporciona, se usa la evidencia del dominio de aplicación actual.
Importante
No use esta sobrecarga de método para crear dominios de aplicación de espacio aislado. A partir de .NET Framework 4, la evidencia proporcionada para securityInfo
ya no afecta al conjunto de concesión del dominio de aplicación. Use la sobrecarga del CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) método para crear dominios de aplicación de espacio aislado.