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 indicato mediante un'evidenza, un percorso base dell'applicazione, un percorso di ricerca relativo e un parametro che specifica se nel dominio applicazione deve essere caricata la copia shadow di un assembly. Specifica un metodo di callback che viene richiamato quando viene inizializzato il dominio applicazione e indica una matrice di argomenti stringa da passare al metodo di callback.

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

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

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

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

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 installazione del dominio applicazione specificati.

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

Crea un nuovo dominio applicazione con il nome indicato mediante un'evidenza, un percorso base dell'applicazione, un percorso di ricerca relativo e un parametro che specifica se nel dominio applicazione deve essere caricata la copia shadow di un assembly. Specifica un metodo di callback che viene richiamato quando viene inizializzato il dominio applicazione e indica una matrice di argomenti stringa da passare al 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 che viene eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

appBasePath
String

Directory di base usata dal resolver dell'assembly per verificare la presenza di assembly. Per altre informazioni, vedere BaseDirectory.

appRelativeSearchPath
String

Percorso relativo alla directory di base in cui deve essere verificata la presenza di assembly privati mediante il resolver degli assembly. Per altre informazioni, vedere RelativeSearchPath.

shadowCopyFiles
Boolean

true per 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 metodo di callback rappresentato dal parametro 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 specificato, viene usata l'evidenza del dominio applicazione corrente.

Per altre informazioni sulla copia shadow, vedere e Shadow Copying Assemblies.For more information about shadow copying assemblies, see ShadowCopyFiles and Shadow Copying Assemblies.

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 CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) metodo per creare domini applicazione in modalità sandbox.

Si applica a

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

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

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 che viene eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

appBasePath
String

Directory di base usata dal resolver dell'assembly per verificare la presenza di assembly. Per altre informazioni, vedere BaseDirectory.

appRelativeSearchPath
String

Percorso relativo alla directory di base in cui deve essere verificata la presenza di assembly privati mediante il resolver degli assembly. Per altre informazioni, vedere RelativeSearchPath.

shadowCopyFiles
Boolean

Se true, nel dominio applicazione verrà caricata la copia shadow di un assembly.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Esempio

Nell'esempio seguente viene illustrato, in generale, come creare un dominio usando uno degli CreateDomain overload.

// 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 specificato, viene usata l'evidenza del dominio applicazione corrente.

Per altre informazioni sulla copia shadow, vedere e Shadow Copying Assemblies.For more information about shadow copying assemblies, see ShadowCopyFiles and Shadow Copying Assemblies.

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 CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) metodo 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 impostazione del dominio applicazione, il set di autorizzazioni predefinito e la matrice di assembly completamente attendibili specificati.

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 dell'oggetto FriendlyName.

securityInfo
Evidence

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

info
AppDomainSetup

Oggetto contenente informazioni relative all'inizializzazione del dominio applicazione.

grantSet
PermissionSet

Set di autorizzazioni predefinito concesso a tutti gli assembly caricati nel nuovo dominio applicazione a cui non sono concesse autorizzazioni specifiche.

fullTrustAssemblies
StrongName[]

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

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Il dominio applicazione è null.

-oppure-

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

Commenti

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

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

Le informazioni fornite per grantSet e fullTrustAssemblies vengono usate per creare un ApplicationTrust oggetto 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 che viene 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 CreateDomain overload.

// 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 AppDomainSetup informazioni del dominio applicazione predefinito.

Se securityInfo non viene specificato, 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 CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) metodo 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 CreateDomain overload.

// 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 friendlyName parametro è 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 di metodo usa le AppDomainSetup informazioni del 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 installazione 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 che viene eseguito nel dominio applicazione. Passare null per usare l'evidenza del dominio applicazione corrente.

info
AppDomainSetup

Oggetto contenente informazioni relative all'inizializzazione del dominio applicazione.

Restituisce

Dominio applicazione appena creato.

Eccezioni

friendlyName è null.

Esempio

L'esempio seguente illustra, in generale, come creare un dominio usando uno degli CreateDomain overload.

// 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 metodo overload usa le AppDomainSetup informazioni dal dominio applicazione predefinito.

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

Importante

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

Si applica a