Compartir a través de


AppDomain.CreateDomain Método

Definición

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

AppDomain

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

AppDomain

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

AppDomain

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

AppDomain

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

AppDomain

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

AppDomain

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.

Se aplica a