AppDomain.CreateDomain Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří novou doménu aplikace.
Přetížení
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[]) |
Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, jestli se má stínová kopie sestavení načíst do domény aplikace. Určuje metodu zpětného volání, která se vyvolá při inicializaci domény aplikace a pole řetězcových argumentů pro předání metody zpětného volání. |
CreateDomain(String, Evidence, String, String, Boolean) |
Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, jestli se má stínová kopie sestavení načíst do domény aplikace. |
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) |
Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů, informací o nastavení domény aplikace, výchozí sady oprávnění a pole plně důvěryhodných sestavení. |
CreateDomain(String, Evidence) |
Vytvoří novou doménu aplikace s daným názvem pomocí zadaných důkazů. |
CreateDomain(String) |
Zastaralé.
Vytvoří novou doménu aplikace se zadaným názvem. |
CreateDomain(String, Evidence, AppDomainSetup) |
Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů a informací o nastavení domény aplikace. |
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])
Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, jestli se má stínová kopie sestavení načíst do domény aplikace. Určuje metodu zpětného volání, která se vyvolá při inicializaci domény aplikace a pole řetězcových argumentů pro předání metody zpětného volání.
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
Parametry
- friendlyName
- String
Popisný název domény. Tento popisný název lze zobrazit v uživatelských rozhraních, aby se identifikovala doména. Další informace najdete v tématu FriendlyName.
- securityInfo
- Evidence
Důkazy, které stanoví identitu kódu, který běží v doméně aplikace. Předejte null
pro použití důkazů o aktuální doméně aplikace.
- appBasePath
- String
Základní adresář, který překladač sestavení používá k sondování sestavení. Další informace najdete v tématu BaseDirectory.
- appRelativeSearchPath
- String
Cesta relativní vzhledem k základnímu adresáři, kde by měl překladač sestavení testovat pro privátní sestavení. Další informace najdete v tématu RelativeSearchPath.
- shadowCopyFiles
- Boolean
true
načíst stínovou kopii sestavení do domény aplikace.
- adInit
- AppDomainInitializer
Delegát AppDomainInitializer, který představuje metodu zpětného volání, která se vyvolá při inicializaci nového AppDomain objektu.
- adInitArgs
- String[]
Pole řetězcových argumentů, které mají být předány zpětnému volání reprezentované adInit
, při inicializaci nového AppDomain objektu.
Návraty
Nově vytvořená doména aplikace.
Výjimky
friendlyName
je null
.
Poznámky
Metoda reprezentovaná adInit
se spustí v kontextu nově vytvořené domény aplikace.
Pokud securityInfo
není zadán, použijí se důkazy z aktuální domény aplikace.
Další informace o stínové kopírování naleznete v tématu ShadowCopyFiles a sestavení stínové kopie.
Důležitý
Nepoužívejte toto přetížení metody k vytvoření domén aplikace v izolovaném prostoru (sandbox). Počínaje rozhraním .NET Framework 4 již nemá vliv na sadu grantů domény aplikace důkazy, které jsou k dispozici pro securityInfo
. K vytvoření domén aplikace v izolovaném prostoru (sandbox) použijte přetížení metody CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]).
Platí pro
CreateDomain(String, Evidence, String, String, Boolean)
Vytvoří novou doménu aplikace s daným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, jestli se má stínová kopie sestavení načíst do domény aplikace.
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
Parametry
- friendlyName
- String
Popisný název domény. Tento popisný název lze zobrazit v uživatelských rozhraních, aby se identifikovala doména. Další informace najdete v tématu FriendlyName.
- securityInfo
- Evidence
Důkazy, které stanoví identitu kódu, který běží v doméně aplikace. Předejte null
pro použití důkazů o aktuální doméně aplikace.
- appBasePath
- String
Základní adresář, který překladač sestavení používá k sondování sestavení. Další informace najdete v tématu BaseDirectory.
- appRelativeSearchPath
- String
Cesta relativní vzhledem k základnímu adresáři, kde by měl překladač sestavení testovat pro privátní sestavení. Další informace najdete v tématu RelativeSearchPath.
- shadowCopyFiles
- Boolean
Pokud true
, stínová kopie sestavení se načte do této domény aplikace.
Návraty
Nově vytvořená doména aplikace.
Výjimky
friendlyName
je null
.
Příklady
Následující ukázka obecně ukazuje, jak vytvořit doménu pomocí jednoho z CreateDomain přetížení.
// 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)
Poznámky
Pokud securityInfo
není zadán, použijí se důkazy z aktuální domény aplikace.
Další informace o stínové kopírování naleznete v tématu ShadowCopyFiles a sestavení stínové kopie.
Důležitý
Nepoužívejte toto přetížení metody k vytvoření domén aplikace v izolovaném prostoru (sandbox). Počínaje rozhraním .NET Framework 4 již nemá vliv na sadu grantů domény aplikace důkazy, které jsou k dispozici pro securityInfo
. K vytvoření domén aplikace v izolovaném prostoru (sandbox) použijte přetížení metody CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]).
Platí pro
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])
Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů, informací o nastavení domény aplikace, výchozí sady oprávnění a pole plně důvěryhodných sestavení.
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
Parametry
- friendlyName
- String
Popisný název domény. Tento popisný název lze zobrazit v uživatelských rozhraních, aby se identifikovala doména. Další informace naleznete v popisu FriendlyName.
- securityInfo
- Evidence
Důkazy, které stanoví identitu kódu, který běží v doméně aplikace. Předejte null
pro použití důkazů o aktuální doméně aplikace.
- info
- AppDomainSetup
Objekt, který obsahuje informace o inicializaci domény aplikace.
- grantSet
- PermissionSet
Výchozí sada oprávnění, která je udělena všem sestavením načteným do nové domény aplikace, která nemají konkrétní udělení.
- fullTrustAssemblies
- StrongName[]
Pole silných názvů představujících sestavení, která mají být považována za plně důvěryhodná v nové doméně aplikace.
Návraty
Nově vytvořená doména aplikace.
Výjimky
friendlyName
je null
.
Doména aplikace je null
.
-nebo-
Vlastnost ApplicationBase není nastavena na objekt AppDomainSetup, který je zadán pro info
.
Poznámky
Je nutné nastavit ApplicationBase vlastnost objektu AppDomainSetup, který zadáte pro info
. V opačném případě je vyvolán výjimka.
Pokud securityInfo
není zadán, použijí se důkazy z aktuální domény aplikace.
Informace poskytované pro grantSet
a fullTrustAssemblies
slouží k vytvoření objektu ApplicationTrust pro novou doménu aplikace.
Platí pro
CreateDomain(String, Evidence)
Vytvoří novou doménu aplikace s daným názvem pomocí zadaných důkazů.
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
Parametry
- friendlyName
- String
Popisný název domény. Tento popisný název lze zobrazit v uživatelských rozhraních, aby se identifikovala doména. Další informace najdete v tématu FriendlyName.
- securityInfo
- Evidence
Důkazy, které stanoví identitu kódu, který běží v doméně aplikace. Předejte null
pro použití důkazů o aktuální doméně aplikace.
Návraty
Nově vytvořená doména aplikace.
Výjimky
friendlyName
je null
.
Příklady
Následující ukázka obecně ukazuje, jak vytvořit doménu pomocí jednoho z CreateDomain přetížení.
// 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)
Poznámky
Toto přetížení metody používá AppDomainSetup informace z výchozí domény aplikace.
Pokud securityInfo
není zadán, použijí se důkazy z aktuální domény aplikace.
Důležitý
Nepoužívejte toto přetížení metody k vytvoření domén aplikace v izolovaném prostoru (sandbox). Počínaje rozhraním .NET Framework 4 již nemá vliv na sadu grantů domény aplikace důkazy, které jsou k dispozici pro securityInfo
. K vytvoření domén aplikace v izolovaném prostoru (sandbox) použijte přetížení metody CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]).
Platí pro
CreateDomain(String)
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
- Zdroj:
- AppDomain.cs
Upozornění
Creating and unloading AppDomains is not supported and throws an exception.
Vytvoří novou doménu aplikace se zadaným názvem.
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
Parametry
- friendlyName
- String
Popisný název domény.
Návraty
Nově vytvořená doména aplikace.
- Atributy
Výjimky
friendlyName
je null
.
Pouze .NET Core a .NET 5+ : Ve všech případech.
Příklady
Následující ukázka obecně ukazuje, jak vytvořit doménu pomocí jednoho z CreateDomain přetížení.
// 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)
Poznámky
Parametr friendlyName
je určen k identifikaci domény způsobem, který je smysluplný pro lidi. Tento řetězec by měl být vhodný pro zobrazení v uživatelských rozhraních.
Toto přetížení metody používá AppDomainSetup informace z výchozí domény aplikace.
Viz také
Platí pro
CreateDomain(String, Evidence, AppDomainSetup)
Vytvoří novou doménu aplikace pomocí zadaného názvu, důkazů a informací o nastavení domény aplikace.
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
Parametry
- friendlyName
- String
Popisný název domény. Tento popisný název lze zobrazit v uživatelských rozhraních, aby se identifikovala doména. Další informace najdete v tématu FriendlyName.
- securityInfo
- Evidence
Důkazy, které stanoví identitu kódu, který běží v doméně aplikace. Předejte null
pro použití důkazů o aktuální doméně aplikace.
- info
- AppDomainSetup
Objekt, který obsahuje informace o inicializaci domény aplikace.
Návraty
Nově vytvořená doména aplikace.
Výjimky
friendlyName
je null
.
Příklady
Následující ukázka obecně ukazuje, jak vytvořit doménu pomocí jednoho z CreateDomain přetížení.
// 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)
Poznámky
Pokud není zadán info
, toto přetížení metody používá AppDomainSetup informace z výchozí domény aplikace.
Pokud securityInfo
není zadán, použijí se důkazy z aktuální domény aplikace.
Důležitý
Nepoužívejte toto přetížení metody k vytvoření domén aplikace v izolovaném prostoru (sandbox). Počínaje rozhraním .NET Framework 4 již nemá vliv na sadu grantů domény aplikace důkazy, které jsou k dispozici pro securityInfo
. K vytvoření domén aplikace v izolovaném prostoru (sandbox) použijte přetížení metody CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]).