AppDomain.CreateDomain 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立新的應用程式定義域。
多載
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[]) |
使用辨識項、應用程式基底路徑、相對搜尋路徑和指定是否要將組件的陰影複本載入應用程式定義域的參數,建立具有指定名稱的新應用程式定義域。 指定當初始化應用程式定義域時所叫用的回呼方法,以及要傳遞給該回呼方法的字串引數陣列。 |
CreateDomain(String, Evidence, String, String, Boolean) |
使用辨識項、應用程式基底路徑、相對搜尋路徑和指定是否要將組件的陰影複本載入應用程式定義域的參數,建立具有指定名稱的新應用程式定義域。 |
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) |
使用指定之名稱、辨識項、應用程式定義域設定資訊、預設權限集合及完全信任的組件陣列,建立新的應用程式定義域。 |
CreateDomain(String, Evidence) |
使用提供的辨識項,建立具有指定名稱的新應用程式定義域。 |
CreateDomain(String) |
已淘汰.
建立具有指定名稱的新應用程式定義域。 |
CreateDomain(String, Evidence, AppDomainSetup) |
使用指定名稱、辨識項和應用程式定義域安裝資訊,建立新的應用程式定義域。 |
CreateDomain(String, Evidence, String, String, Boolean, AppDomainInitializer, String[])
使用辨識項、應用程式基底路徑、相對搜尋路徑和指定是否要將組件的陰影複本載入應用程式定義域的參數,建立具有指定名稱的新應用程式定義域。 指定當初始化應用程式定義域時所叫用的回呼方法,以及要傳遞給該回呼方法的字串引數陣列。
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
參數
- friendlyName
- String
定義域的易記名稱。 這個易記名稱可以在使用者介面中顯示以識別該定義域。 如需詳細資訊,請參閱FriendlyName。
- securityInfo
- Evidence
辨識項,可建立能在應用程式定義域內執行之程式碼的識別。 傳遞 null
可使用目前應用程式定義域的辨識項。
- appBasePath
- String
組件解析程式用來探查組件的基底目錄。 如需詳細資訊,請參閱BaseDirectory。
- appRelativeSearchPath
- String
相對於組件解析程式應該探查私用組件之基底目錄的路徑。 如需詳細資訊,請參閱RelativeSearchPath。
- shadowCopyFiles
- Boolean
true
表示將組件的陰影複本載入到應用程式定義域中。
- adInit
- AppDomainInitializer
AppDomainInitializer 委派,表示當初始化新的 AppDomain 物件時所叫用的回呼方法。
傳回
新建立的應用程式定義域。
例外狀況
friendlyName
為 null
。
備註
所 adInit
表示的方法會在新建立的應用程式域內容中執行。
如果未 securityInfo
提供,則會使用來自目前應用程式域的辨識項。
如需陰影複製的詳細資訊,請參閱 ShadowCopyFiles 和 陰影複製元件。
重要
請勿使用這個方法多載來建立沙箱化應用程式域。 從 .NET Framework 4 開始,提供給 securityInfo
的辨識項不再影響應用程式域的授與集。
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])使用 方法多載來建立沙箱化應用程式域。
適用於
CreateDomain(String, Evidence, String, String, Boolean)
使用辨識項、應用程式基底路徑、相對搜尋路徑和指定是否要將組件的陰影複本載入應用程式定義域的參數,建立具有指定名稱的新應用程式定義域。
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
參數
- friendlyName
- String
定義域的易記名稱。 這個易記名稱可以在使用者介面中顯示以識別該定義域。 如需詳細資訊,請參閱FriendlyName。
- securityInfo
- Evidence
辨識項,可建立能在應用程式定義域內執行之程式碼的識別。 傳遞 null
可使用目前應用程式定義域的辨識項。
- appBasePath
- String
組件解析程式用來探查組件的基底目錄。 如需詳細資訊,請參閱BaseDirectory。
- appRelativeSearchPath
- String
相對於組件解析程式應該探查私用組件之基底目錄的路徑。 如需詳細資訊,請參閱RelativeSearchPath。
- shadowCopyFiles
- Boolean
如果為 true
,則會將組件的陰影複本載入這個應用程式定義域中。
傳回
新建立的應用程式定義域。
例外狀況
friendlyName
為 null
。
範例
下列範例示範如何使用其中 CreateDomain 一個多載來建立網域。
// 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)
備註
如果未 securityInfo
提供,則會使用來自目前應用程式域的辨識項。
如需陰影複製的詳細資訊,請參閱 ShadowCopyFiles 和 陰影複製元件。
重要
請勿使用這個方法多載來建立沙箱化應用程式域。 從 .NET Framework 4 開始,提供給 securityInfo
的辨識項不再影響應用程式域的授與集。
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])使用 方法多載來建立沙箱化應用程式域。
適用於
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])
使用指定之名稱、辨識項、應用程式定義域設定資訊、預設權限集合及完全信任的組件陣列,建立新的應用程式定義域。
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
參數
- friendlyName
- String
定義域的易記名稱。 這個易記名稱可以在使用者介面中顯示以識別該定義域。 如需詳細資訊,請參閱 FriendlyName 的說明。
- securityInfo
- Evidence
辨識項,可建立能在應用程式定義域內執行之程式碼的識別。 傳遞 null
可使用目前應用程式定義域的辨識項。
- info
- AppDomainSetup
物件,包含應用程式定義域初始化資訊。
- grantSet
- PermissionSet
預設使用權限集合,其授與給載入無特定授權的新應用程式定義域中的所有組件。
- fullTrustAssemblies
- StrongName[]
強式名稱的陣列,表示在新的應用程式定義域中視為完全信任的組件。
傳回
新建立的應用程式定義域。
例外狀況
friendlyName
為 null
。
備註
您必須設定 ApplicationBase 您為 info
提供之 AppDomainSetup 物件的 屬性。 否則,會擲回例外狀況。
如果未 securityInfo
提供,則會使用來自目前應用程式域的辨識項。
提供給 grantSet
和 fullTrustAssemblies
的資訊可用來建立 ApplicationTrust 新應用程式域的物件。
適用於
CreateDomain(String, Evidence)
使用提供的辨識項,建立具有指定名稱的新應用程式定義域。
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
參數
- friendlyName
- String
定義域的易記名稱。 這個易記名稱可以在使用者介面中顯示以識別該定義域。 如需詳細資訊,請參閱FriendlyName。
- securityInfo
- Evidence
辨識項,可建立能在應用程式定義域內執行之程式碼的識別。 傳遞 null
可使用目前應用程式定義域的辨識項。
傳回
新建立的應用程式定義域。
例外狀況
friendlyName
為 null
。
範例
下列範例示範如何使用其中 CreateDomain 一個多載來建立網域。
// 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)
備註
這個方法多載會使用 AppDomainSetup 來自預設應用程式域的資訊。
如果未 securityInfo
提供,則會使用來自目前應用程式域的辨識項。
重要
請勿使用這個方法多載來建立沙箱化應用程式域。 從 .NET Framework 4 開始,提供給 securityInfo
的辨識項不再影響應用程式域的授與集。
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])使用 方法多載來建立沙箱化應用程式域。
適用於
CreateDomain(String)
- 來源:
- AppDomain.cs
- 來源:
- AppDomain.cs
- 來源:
- AppDomain.cs
警告
Creating and unloading AppDomains is not supported and throws an exception.
建立具有指定名稱的新應用程式定義域。
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
參數
- friendlyName
- String
定義域的易記名稱。
傳回
新建立的應用程式定義域。
- 屬性
例外狀況
friendlyName
為 null
。
僅限 .NET Core 與 .NET 5+:在所有情況下。
範例
下列範例示範如何使用其中 CreateDomain 一個多載來建立網域。
// 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)
備註
參數 friendlyName
旨在以對人類有意義的方式來識別定義域。 此字串應該適用于在使用者介面中顯示。
這個方法多載會使用 AppDomainSetup 預設應用程式域的資訊。
另請參閱
適用於
CreateDomain(String, Evidence, AppDomainSetup)
使用指定名稱、辨識項和應用程式定義域安裝資訊,建立新的應用程式定義域。
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
參數
- friendlyName
- String
定義域的易記名稱。 這個易記名稱可以在使用者介面中顯示以識別該定義域。 如需詳細資訊,請參閱FriendlyName。
- securityInfo
- Evidence
辨識項,可建立能在應用程式定義域內執行之程式碼的識別。 傳遞 null
可使用目前應用程式定義域的辨識項。
- info
- AppDomainSetup
物件,包含應用程式定義域初始化資訊。
傳回
新建立的應用程式定義域。
例外狀況
friendlyName
為 null
。
範例
下列範例示範如何使用其中 CreateDomain 一個多載來建立網域。
// 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)
備註
如果未 info
提供 ,這個方法多載會 AppDomainSetup 使用預設應用程式域的資訊。
如果未 securityInfo
提供 ,則會使用來自目前應用程式域的辨識項。
重要
請勿使用此方法多載來建立沙箱化應用程式域。 從 .NET Framework 4 開始,提供給 securityInfo
的辨識項不再影響應用程式域的授與集。
CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])使用 方法多載來建立沙箱化應用程式域。