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, zda má být do domény aplikace načtena stínová kopie sestavení. 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, zda má být do domény aplikace načtena stínová kopie sestavení.

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, zda má být do domény aplikace načtena stínová kopie sestavení. 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í 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ředejte null 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 naleznete v tématu BaseDirectory.

appRelativeSearchPath
String

Cesta vzhledem k základnímu adresáři, ve kterém by měl překladač sestavení testovat pro 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í vyvolat 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

AppDomain

Nově vytvořená doména aplikace.

Výjimky

friendlyName je null.

Poznámky

Metoda reprezentovaná adInit je provedena v kontextu nově vytvořené domény aplikace.

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

Další informace o stínové kopírování naleznete v tématu ShadowCopyFiles a stínové kopírování 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 již nemá vliv securityInfo na sadu grantů domény aplikace. K vytvoření domén aplikace v izolovaném CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) prostoru (sandbox) použijte přetížení metody.

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, zda má být do domény aplikace načtena stínová kopie sestavení.

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ředejte null 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 naleznete v tématu BaseDirectory.

appRelativeSearchPath
String

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

shadowCopyFiles
Boolean

Pokud truese do této domény aplikace načte stínová kopie sestavení.

Návraty

AppDomain

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ůkaz z aktuální domény aplikace.

Další informace o stínové kopírování naleznete v tématu ShadowCopyFiles a stínové kopírování 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 již nemá vliv securityInfo na sadu grantů domény aplikace. K vytvoření domén aplikace v izolovaném CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) prostoru (sandbox) použijte přetížení metody.

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

securityInfo
Evidence

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

AppDomain

Nově vytvořená doména aplikace.

Výjimky

friendlyName je null.

Doména aplikace je null.

-nebo-

Vlastnost ApplicationBase není nastavena na AppDomainSetup objekt, který je zadán pro info.

Poznámky

Je nutné nastavit ApplicationBase vlastnost objektu AppDomainSetup , pro infokterý zadáte . 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 poskytnuté 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í 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ředejte null použití důkazů o aktuální doméně aplikace.

Návraty

AppDomain

Nově vytvořená doména aplikace.

Výjimky

friendlyName je null.

Příklady

Následující ukázka ukazuje obecně, 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 securityInfo již nemá vliv na sadu grantů 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)

Upozornění

Creating and unloading AppDomains is not supported and throws an exception.", DiagnosticId="SYSLIB0024", UrlFormat="https://aka.ms/dotnet-warnings/{0}

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

AppDomain

Nově vytvořená doména aplikace.

Atributy

Výjimky

friendlyName je null.

.NET Core a .NET 5+ pouze: Ve všech případech.

Příklady

Následující ukázka ukazuje obecně, 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.

Přetížení této 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í 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ředejte null použití důkazů o aktuální doméně aplikace.

info
AppDomainSetup

Objekt, který obsahuje informace o inicializaci domény aplikace.

Návraty

AppDomain

Nově vytvořená doména aplikace.

Výjimky

friendlyName je null.

Příklady

Následující ukázka ukazuje obecně, 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ána, tato metoda přetížení 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 securityInfo již nemá vliv na sadu grantů 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