AppDomain.CreateDomain メソッド

定義

新しいアプリケーション ドメインを作成します。

オーバーロード

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

アプリケーション ドメインで実行されるコードの ID を確立する証拠。 現在のアプリケーション ドメインの証拠を使用するには、null を渡します。

appBasePath
String

アセンブリを探すためにアセンブリ リゾルバーが使用するベース ディレクトリ。 詳細については、「BaseDirectory」を参照してください。

appRelativeSearchPath
String

アセンブリ リゾルバーがプライベート アセンブリを調べる場所を示す、ベース ディレクトリを基準とした相対パス。 詳細については、「RelativeSearchPath」を参照してください。

shadowCopyFiles
Boolean

アプリケーション ドメインにアセンブリのシャドウ コピーを読み込む場合は true

adInit
AppDomainInitializer

新しい AppDomain オブジェクトの初期化時に呼び出されるコールバック メソッドを表す AppDomainInitializer デリゲート。

adInitArgs
String[]

新しい AppDomain オブジェクトの初期化時に adInit によって表されるコールバックに渡される文字列型引数の配列。

戻り値

新しく作成されたアプリケーション ドメイン。

例外

friendlyNamenullです。

注釈

によって 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

アプリケーション ドメインで実行されるコードの ID を確立する証拠。 現在のアプリケーション ドメインの証拠を使用するには、null を渡します。

appBasePath
String

アセンブリを探すためにアセンブリ リゾルバーが使用するベース ディレクトリ。 詳細については、「BaseDirectory」を参照してください。

appRelativeSearchPath
String

アセンブリ リゾルバーがプライベート アセンブリを調べる場所を示す、ベース ディレクトリを基準とした相対パス。 詳細については、「RelativeSearchPath」を参照してください。

shadowCopyFiles
Boolean

true の場合、アセンブリのシャドウ コピーはこのアプリケーション ドメインに読み込まれます。

戻り値

新しく作成されたアプリケーション ドメイン。

例外

friendlyNamenullです。

次の例では、一般に、いずれかのオーバーロードを使用してドメインを作成する方法を 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

アプリケーション ドメインで実行されるコードの ID を確立する証拠。 現在のアプリケーション ドメインの証拠を使用するには、null を渡します。

info
AppDomainSetup

アプリケーション ドメインの初期化情報を格納しているオブジェクト。

grantSet
PermissionSet

新しいアプリケーション ドメインに読み込まれた、特定のアクセス許可を持たないすべてのアセンブリに付与される既定のアクセス許可セット。

fullTrustAssemblies
StrongName[]

新しいアプリケーション ドメインで、完全に信頼されていると見なされるアセンブリを表す厳密名の配列。

戻り値

新しく作成されたアプリケーション ドメイン。

例外

friendlyNamenullです。

アプリケーション ドメインが null です。

- または -

ApplicationBase プロパティは、info 用に提供される AppDomainSetup オブジェクトでは設定されません。

注釈

に指定する ApplicationBase オブジェクトの AppDomainSetup プロパティを設定する info必要があります。 それ以外の場合は、例外がスローされます。

が指定されていない場合 securityInfo は、現在のアプリケーション ドメインからの証拠が使用されます。

および fullTrustAssemblies に指定grantSetされた情報は、新しいアプリケーション ドメインの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

アプリケーション ドメインで実行されるコードの ID を確立する証拠。 現在のアプリケーション ドメインの証拠を使用するには、null を渡します。

戻り値

新しく作成されたアプリケーション ドメイン。

例外

friendlyNamenullです。

次の例では、一般に、いずれかのオーバーロードを使用してドメインを作成する方法を 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)

Source:
AppDomain.cs
Source:
AppDomain.cs
Source:
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

ドメインの表示名。

戻り値

新しく作成されたアプリケーション ドメイン。

属性

例外

friendlyNamenullです。

.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

アプリケーション ドメインで実行されるコードの ID を確立する証拠。 現在のアプリケーション ドメインの証拠を使用するには、null を渡します。

info
AppDomainSetup

アプリケーション ドメインの初期化情報を格納しているオブジェクト。

戻り値

新しく作成されたアプリケーション ドメイン。

例外

friendlyNamenullです。

次の例では、一般に、いずれかのオーバーロードを使用してドメインを作成する方法を 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[]) 使用して、サンドボックス アプリケーション ドメインを作成します。

適用対象