Sdílet prostřednictvím


AppDomain.CreateDomain Metoda

Definice

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[]).

Platí pro