AppDomain.CreateDomain Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.