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 se zadaným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být stínová kopie sestavení načtena do domény aplikace. Určuje metodu zpětného volání, která je vyvolána 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 se zadaným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být stínová kopie sestavení načtena do domény aplikace.

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

Vytvoří novou doménu aplikace pomocí zadaného názvu, evidence, 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í poskytnutého důkazu.

CreateDomain(String)
Zastaralé.

Vytvoří novou doménu aplikace se zadaným názvem.

CreateDomain(String, Evidence, AppDomainSetup)

Vytvoří novou doménu aplikace s použitím zadaného názvu, důkazu a informací o nastavení domény aplikace.

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

Vytvoří novou doménu aplikace se zadaným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být stínová kopie sestavení načtena do domény aplikace. Určuje metodu zpětného volání, která je vyvolána 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í k identifikaci domény. Další informace naleznete v tématu FriendlyName.

securityInfo
Evidence

Důkaz o totožnosti kódu spuštěného v doméně aplikace. Předáním null použijte 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 naleznete v tématu BaseDirectory.

appRelativeSearchPath
String

Cesta vzhledem k základnímu adresáři, kde by překladač sestavení měl testovat privátní sestavení. Další informace naleznete v tématu RelativeSearchPath.

shadowCopyFiles
Boolean

true pro načtení stínové kopie sestavení do domény aplikace.

adInit
AppDomainInitializer

Delegát AppDomainInitializer , který představuje metodu zpětného volání 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á parametrem adInit se provádí v kontextu nově vytvořené domény aplikace.

Pokud securityInfo není zadán, použije se důkazy z aktuální domény aplikace.

Další informace o stínovém kopírování naleznete v tématu ShadowCopyFiles a Stínová kopie sestavení.

Důležité

Nepoužívejte přetížení této metody pro vytvoření domény aplikace v izolovaném prostoru. Počínaje rozhraním .NET Framework 4, důkazy, které jsou poskytovány pro securityInfo již ovlivňuje sadu udělení domény aplikace. CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) Pomocí přetížení metody vytvořte domény aplikace v izolovaném prostoru (sandbox).

Platí pro

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

Vytvoří novou doménu aplikace se zadaným názvem pomocí důkazů, základní cesty aplikace, relativní cesty hledání a parametru, který určuje, zda má být stínová kopie sestavení načtena 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í k identifikaci domény. Další informace naleznete v tématu FriendlyName.

securityInfo
Evidence

Důkaz o totožnosti kódu spuštěného v doméně aplikace. Předáním null použijte 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 naleznete v tématu BaseDirectory.

appRelativeSearchPath
String

Cesta vzhledem k základnímu adresáři, kde by překladač sestavení měl testovat privátní sestavení. Další informace naleznete v tématu RelativeSearchPath.

shadowCopyFiles
Boolean

Pokud true, stínová kopie sestavení je načtena 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žije se důkazy z aktuální domény aplikace.

Další informace o stínovém kopírování naleznete v tématu ShadowCopyFiles a Stínová kopie sestavení.

Důležité

Nepoužívejte přetížení této metody pro vytvoření domény aplikace v izolovaném prostoru. Počínaje rozhraním .NET Framework 4, důkazy, které jsou poskytovány pro securityInfo již ovlivňuje sadu udělení domény aplikace. CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) Pomocí přetížení metody vytvořte domény aplikace v izolovaném prostoru (sandbox).

Platí pro

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

Vytvoří novou doménu aplikace pomocí zadaného názvu, evidence, 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í k identifikaci domény. Další informace najdete v popisu .FriendlyName

securityInfo
Evidence

Důkaz o totožnosti kódu spuštěného v doméně aplikace. Předáním null použijte 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í sestavení, která mají být považována za plně důvěryhodnou 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 u objektu zadaného AppDomainSetup pro info.

Poznámky

Musíte nastavit ApplicationBase vlastnost objektu AppDomainSetup , který zadáte pro info. V opačném případě je vyvolána výjimka.

Pokud securityInfo není zadán, použije se důkazy z aktuální domény aplikace.

Informace zadané 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í poskytnutého důkazu.

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í k identifikaci domény. Další informace naleznete v tématu FriendlyName.

securityInfo
Evidence

Důkaz o totožnosti kódu spuštěného v doméně aplikace. Předáním null použijte 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

Přetížení této metody používá AppDomainSetup informace z výchozí domény aplikace.

Pokud securityInfo není zadán, použije se důkazy z aktuální domény aplikace.

Důležité

Nepoužívejte přetížení této metody pro vytvoření domény aplikace v izolovaném prostoru. Počínaje rozhraním .NET Framework 4, důkazy, které jsou poskytovány pro securityInfo již ovlivňuje sadu udělení domény aplikace. CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) Pomocí přetížení metody vytvořte domény aplikace v izolovaném prostoru (sandbox).

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 člověka. 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 s použitím 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í k identifikaci domény. Další informace naleznete v tématu FriendlyName.

securityInfo
Evidence

Důkaz o totožnosti kódu spuštěného v doméně aplikace. Předáním null použijte 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 info není zadán, použije přetížení AppDomainSetup této metody 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 přetížení této metody pro vytvoření domény aplikace v izolovaném prostoru. Počínaje rozhraním .NET Framework 4 už důkazy zadané pro securityInfo neovlivňují sadu udělení domény aplikace. CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) Pomocí přetížení metody vytvořte domény aplikace v izolovaném prostoru (sandbox).

Platí pro