Condividi tramite


AppDomain.CreateDomain Metodo

Definizione

Crea un nuovo dominio applicazione.

Overload

CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Crea un nuovo dominio applicazione con il nome specificato, usando evidenza, percorso di base dell'applicazione, percorso di ricerca relativo e un parametro che specifica se una copia shadow di un assembly deve essere caricata nel dominio dell'applicazione. Specifica un metodo di callback richiamato quando il dominio applicazione viene inizializzato e una matrice di argomenti stringa per passare il metodo di callback.

CreateDomain(String, Evidence, String, String, Boolean)

Crea un nuovo dominio applicazione con il nome specificato, usando evidenza, percorso di base dell'applicazione, percorso di ricerca relativo e un parametro che specifica se una copia shadow di un assembly deve essere caricata nel dominio dell'applicazione.

CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Crea un nuovo dominio applicazione usando il nome, l'evidenza, le informazioni di installazione del dominio applicazione, il set di autorizzazioni predefinito e la matrice di assembly completamente attendibili.

CreateDomain(String, Evidence)

Crea un nuovo dominio applicazione con il nome specificato usando l'evidenza fornita.

CreateDomain(String)
Obsoleti.

Crea un nuovo dominio applicazione con il nome specificato.

CreateDomain(String, Evidence, AppDomainSetup)

Crea un nuovo dominio applicazione usando il nome, l'evidenza e le informazioni di configurazione del dominio applicazione specificati.

CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])

Crea un nuovo dominio applicazione con il nome specificato, usando evidenza, percorso di base dell'applicazione, percorso di ricerca relativo e un parametro che specifica se una copia shadow di un assembly deve essere caricata nel dominio dell'applicazione. Specifica un metodo di callback richiamato quando il dominio applicazione viene inizializzato e una matrice di argomenti stringa per passare il metodo di callback.

public:
 static AppDomain ^ CreateDomain(System::String ^ friendlyName, System::Security::Policy::Evidence ^ securityInfo, System::String ^ appBasePath, System::String ^ appRelativeSearchPath, bool shadowCopyFiles, AppDomainInitializer ^ adInit, cli::array <System::String ^> ^ adInitArgs);
public static AppDomain CreateDomain (string friendlyName, System.Security.Policy.Evidence securityInfo, string appBasePath, string appRelativeSearchPath, bool shadowCopyFiles, AppDomainInitializer adInit, string[] adInitArgs);
static member CreateDomain : string * System.Security.Policy.Evidence * string * string * bool * AppDomainInitializer * string[] -> AppDomain
Public Shared Function CreateDomain (friendlyName As String, securityInfo As Evidence, appBasePath As String, appRelativeSearchPath As String, shadowCopyFiles As Boolean, adInit As AppDomainInitializer, adInitArgs As String()) As AppDomain

Parametri

friendlyName
String

Nome descrittivo del dominio. Questo nome descrittivo può essere visualizzato nelle interfacce utente per identificare il dominio. Per altre informazioni, vedere FriendlyName.

securityInfo
Evidence

Evidenza che stabilisce l'identità del codice eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

appBasePath
String

Directory di base usata dal sistema di risoluzione dell'assembly per eseguire il probe degli assembly. Per altre informazioni, vedere BaseDirectory.

appRelativeSearchPath
String

Percorso relativo alla directory di base in cui il resolver dell'assembly deve eseguire il probe per gli assembly privati. Per altre informazioni, vedere RelativeSearchPath.

shadowCopyFiles
Boolean

true caricare una copia shadow di un assembly nel dominio applicazione.

adInit
AppDomainInitializer

Delegato AppDomainInitializer che rappresenta un metodo di callback da richiamare quando viene inizializzato il nuovo oggetto AppDomain.

adInitArgs
String[]

Matrice di argomenti stringa da passare al callback rappresentato da adInit, quando viene inizializzato il nuovo oggetto AppDomain.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Commenti

Il metodo rappresentato da adInit viene eseguito nel contesto del dominio applicazione appena creato.

Se securityInfo non viene fornito, viene usata l'evidenza del dominio applicazione corrente.

Per altre informazioni sulla copia shadow, vedere ShadowCopyFiles e assembly di copia shadow.

Importante

Non usare questo overload del metodo per creare domini applicazione in modalità sandbox. A partire da .NET Framework 4, l'evidenza fornita per securityInfo non influisce più sul set di concessioni del dominio applicazione. Usare l'overload del metodo CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) per creare domini applicazione in modalità sandbox.

Si applica a

CreateDomain(String, Evidence, String, String, Boolean)

Crea un nuovo dominio applicazione con il nome specificato, usando evidenza, percorso di base dell'applicazione, percorso di ricerca relativo e un parametro che specifica se una copia shadow di un assembly deve essere caricata nel dominio dell'applicazione.

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

Parametri

friendlyName
String

Nome descrittivo del dominio. Questo nome descrittivo può essere visualizzato nelle interfacce utente per identificare il dominio. Per altre informazioni, vedere FriendlyName.

securityInfo
Evidence

Evidenza che stabilisce l'identità del codice eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

appBasePath
String

Directory di base usata dal sistema di risoluzione dell'assembly per eseguire il probe degli assembly. Per altre informazioni, vedere BaseDirectory.

appRelativeSearchPath
String

Percorso relativo alla directory di base in cui il resolver dell'assembly deve eseguire il probe per gli assembly privati. Per altre informazioni, vedere RelativeSearchPath.

shadowCopyFiles
Boolean

Se true, viene caricata una copia shadow di un assembly in questo dominio applicazione.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Esempio

Nell'esempio seguente viene illustrato, in generale, come creare un dominio usando uno degli overload 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)

Commenti

Se securityInfo non viene fornito, viene usata l'evidenza del dominio applicazione corrente.

Per altre informazioni sulla copia shadow, vedere ShadowCopyFiles e assembly di copia shadow.

Importante

Non usare questo overload del metodo per creare domini applicazione in modalità sandbox. A partire da .NET Framework 4, l'evidenza fornita per securityInfo non influisce più sul set di concessioni del dominio applicazione. Usare l'overload del metodo CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) per creare domini applicazione in modalità sandbox.

Si applica a

CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])

Crea un nuovo dominio applicazione usando il nome, l'evidenza, le informazioni di installazione del dominio applicazione, il set di autorizzazioni predefinito e la matrice di assembly completamente attendibili.

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

Parametri

friendlyName
String

Nome descrittivo del dominio. Questo nome descrittivo può essere visualizzato nelle interfacce utente per identificare il dominio. Per altre informazioni, vedere la descrizione di FriendlyName.

securityInfo
Evidence

Evidenza che stabilisce l'identità del codice eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

info
AppDomainSetup

Oggetto che contiene informazioni sull'inizializzazione del dominio applicazione.

grantSet
PermissionSet

Set di autorizzazioni predefinito concesso a tutti gli assembly caricati nel nuovo dominio applicazione che non dispongono di concessioni specifiche.

fullTrustAssemblies
StrongName[]

Matrice di nomi sicuri che rappresentano gli assembly da considerare completamente attendibili nel nuovo dominio applicazione.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Il dominio dell'applicazione è null.

-o-

La proprietà ApplicationBase non è impostata sull'oggetto AppDomainSetup fornito per info.

Commenti

È necessario impostare la proprietà ApplicationBase dell'oggetto AppDomainSetup fornito per info. In caso contrario, viene generata un'eccezione.

Se securityInfo non viene fornito, viene usata l'evidenza del dominio applicazione corrente.

Le informazioni fornite per grantSet e fullTrustAssemblies vengono usate per creare un oggetto ApplicationTrust per il nuovo dominio applicazione.

Si applica a

CreateDomain(String, Evidence)

Crea un nuovo dominio applicazione con il nome specificato usando l'evidenza fornita.

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

Parametri

friendlyName
String

Nome descrittivo del dominio. Questo nome descrittivo può essere visualizzato nelle interfacce utente per identificare il dominio. Per altre informazioni, vedere FriendlyName.

securityInfo
Evidence

Evidenza che stabilisce l'identità del codice eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Esempio

Nell'esempio seguente viene illustrato, in generale, come creare un dominio usando uno degli overload 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)

Commenti

Questo overload del metodo usa le informazioni AppDomainSetup dal dominio applicazione predefinito.

Se securityInfo non viene fornito, viene usata l'evidenza del dominio applicazione corrente.

Importante

Non usare questo overload del metodo per creare domini applicazione in modalità sandbox. A partire da .NET Framework 4, l'evidenza fornita per securityInfo non influisce più sul set di concessioni del dominio applicazione. Usare l'overload del metodo CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) per creare domini applicazione in modalità sandbox.

Si applica a

CreateDomain(String)

Origine:
AppDomain.cs
Origine:
AppDomain.cs
Origine:
AppDomain.cs

Attenzione

Creating and unloading AppDomains is not supported and throws an exception.

Crea un nuovo dominio applicazione con il nome specificato.

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

Parametri

friendlyName
String

Nome descrittivo del dominio.

Restituisce

Dominio applicazione appena creato.

Attributi

Eccezioni

friendlyName è null.

Solo .NET Core e .NET 5+: in tutti i casi.

Esempio

Nell'esempio seguente viene illustrato, in generale, come creare un dominio usando uno degli overload 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)

Commenti

Il parametro friendlyName è progettato per identificare il dominio in modo significativo per gli esseri umani. Questa stringa deve essere adatta per la visualizzazione nelle interfacce utente.

Questo overload del metodo usa le informazioni AppDomainSetup dal dominio applicazione predefinito.

Vedi anche

Si applica a

CreateDomain(String, Evidence, AppDomainSetup)

Crea un nuovo dominio applicazione usando il nome, l'evidenza e le informazioni di configurazione del dominio applicazione specificati.

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

Parametri

friendlyName
String

Nome descrittivo del dominio. Questo nome descrittivo può essere visualizzato nelle interfacce utente per identificare il dominio. Per altre informazioni, vedere FriendlyName.

securityInfo
Evidence

Evidenza che stabilisce l'identità del codice eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

info
AppDomainSetup

Oggetto che contiene informazioni sull'inizializzazione del dominio applicazione.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Esempio

Nell'esempio seguente viene illustrato, in generale, come creare un dominio usando uno degli overload 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)

Commenti

Se info non viene fornito, questo overload del metodo usa le informazioni AppDomainSetup dal dominio applicazione predefinito.

Se securityInfo non viene fornito, viene usata l'evidenza del dominio applicazione corrente.

Importante

Non usare questo overload del metodo per creare domini applicazione in modalità sandbox. A partire da .NET Framework 4, l'evidenza fornita per securityInfo non influisce più sul set di concessioni del dominio applicazione. Usare l'overload del metodo CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) per creare domini applicazione in modalità sandbox.

Si applica a