AppDomain クラス

定義

アプリケーション ドメインを表します。アプリケーション ドメインとは、アプリケーションが実行される分離された環境です。 このクラスは継承できません。

public ref class AppDomain sealed : MarshalByRefObject
public ref class AppDomain : MarshalByRefObject
public ref class AppDomain sealed : MarshalByRefObject, _AppDomain, System::Security::IEvidenceFactory
public sealed class AppDomain : MarshalByRefObject
public class AppDomain : MarshalByRefObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, System.Security.IEvidenceFactory
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AppDomain : MarshalByRefObject, _AppDomain, System.Security.IEvidenceFactory
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AppDomain : MarshalByRefObject
type AppDomain = class
    inherit MarshalByRefObject
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type AppDomain = class
    inherit MarshalByRefObject
    interface _AppDomain
    interface IEvidenceFactory
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AppDomain = class
    inherit MarshalByRefObject
    interface _AppDomain
    interface IEvidenceFactory
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AppDomain = class
    inherit MarshalByRefObject
Public NotInheritable Class AppDomain
Inherits MarshalByRefObject
Public Class AppDomain
Inherits MarshalByRefObject
Public NotInheritable Class AppDomain
Inherits MarshalByRefObject
Implements _AppDomain, IEvidenceFactory
継承
属性
実装

この例では、新しい を作成し、その新しい で型をインスタンス化し、その型の オブジェクト AppDomain AppDomain と通信する方法を示します。 さらに、この例では、 オブジェクトのガベージ コレクションの原因となる をアンロード AppDomain する方法を示します。

using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::Security::Policy;

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
ref class MarshalByRefType : MarshalByRefObject
{
public:
    //  Call this method via a proxy.
    void SomeMethod(String^ callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup^ ads = AppDomain::CurrentDomain->SetupInformation;
        Console::WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads->ApplicationName, 
            ads->ApplicationBase, 
            ads->ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console::WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread::GetDomain()->FriendlyName
        );
    };
};

void main()
{
    // Get and display the friendly name of the default AppDomain.
    String^ callingDomainName = Thread::GetDomain()->FriendlyName;
    Console::WriteLine(callingDomainName);

    // Get and display the full name of the EXE assembly.
    String^ exeAssembly = Assembly::GetEntryAssembly()->FullName;
    Console::WriteLine(exeAssembly);

    // Construct and initialize settings for a second AppDomain.
    AppDomainSetup^ ads = gcnew AppDomainSetup();
    ads->ApplicationBase = AppDomain::CurrentDomain->BaseDirectory;

    ads->DisallowBindingRedirects = false;
    ads->DisallowCodeDownload = true;
    ads->ConfigurationFile = 
        AppDomain::CurrentDomain->SetupInformation->ConfigurationFile;

    // Create the second AppDomain.
    AppDomain^ ad2 = AppDomain::CreateDomain("AD #2", 
        AppDomain::CurrentDomain->Evidence, ads);

    // Create an instance of MarshalbyRefType in the second AppDomain. 
    // A proxy to the object is returned.
    MarshalByRefType^ mbrt = 
        (MarshalByRefType^) ad2->CreateInstanceAndUnwrap(
            exeAssembly, 
            MarshalByRefType::typeid->FullName
        );

    // Call a method on the object via the proxy, passing the 
    // default AppDomain's friendly name in as a parameter.
    mbrt->SomeMethod(callingDomainName);

    // Unload the second AppDomain. This deletes its object and 
    // invalidates the proxy object.
    AppDomain::Unload(ad2);
    try
    {
        // Call the method again. Note that this time it fails 
        // because the second AppDomain was unloaded.
        mbrt->SomeMethod(callingDomainName);
        Console::WriteLine("Sucessful call.");
    }
    catch(AppDomainUnloadedException^)
    {
        Console::WriteLine("Failed call; this is expected.");
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */
using System;
using System.Reflection;
using System.Threading;

class Module1
{
    public static void Main()
    {
        // Get and display the friendly name of the default AppDomain.
        string callingDomainName = Thread.GetDomain().FriendlyName;
        Console.WriteLine(callingDomainName);

        // Get and display the full name of the EXE assembly.
        string exeAssembly = Assembly.GetEntryAssembly().FullName;
        Console.WriteLine(exeAssembly);

        // Construct and initialize settings for a second AppDomain.
        AppDomainSetup ads = new AppDomainSetup();
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

        ads.DisallowBindingRedirects = false;
        ads.DisallowCodeDownload = true;
        ads.ConfigurationFile =
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;

        // Create the second AppDomain.
        AppDomain ad2 = AppDomain.CreateDomain("AD #2", null, ads);

        // Create an instance of MarshalbyRefType in the second AppDomain.
        // A proxy to the object is returned.
        MarshalByRefType mbrt =
            (MarshalByRefType) ad2.CreateInstanceAndUnwrap(
                exeAssembly,
                typeof(MarshalByRefType).FullName
            );

        // Call a method on the object via the proxy, passing the
        // default AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName);

        // Unload the second AppDomain. This deletes its object and
        // invalidates the proxy object.
        AppDomain.Unload(ad2);
        try
        {
            // Call the method again. Note that this time it fails
            // because the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName);
            Console.WriteLine("Sucessful call.");
        }
        catch(AppDomainUnloadedException)
        {
            Console.WriteLine("Failed call; this is expected.");
        }
    }
}

// Because this class is derived from MarshalByRefObject, a proxy
// to a MarshalByRefType object can be returned across an AppDomain
// boundary.
public class MarshalByRefType : MarshalByRefObject
{
    //  Call this method via a proxy.
    public void SomeMethod(string callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}",
            ads.ApplicationName,
            ads.ApplicationBase,
            ads.ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name
        // of the second domain.
        // NOTE: The application's thread has transitioned between
        // AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.",
            callingDomainName,
            Thread.GetDomain().FriendlyName
        );
    }
}

/* This code produces output similar to the following:

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */
Imports System.Reflection
Imports System.Threading

Module Module1
    Sub Main()

        ' Get and display the friendly name of the default AppDomain.
        Dim callingDomainName As String = Thread.GetDomain().FriendlyName
        Console.WriteLine(callingDomainName)

        ' Get and display the full name of the EXE assembly.
        Dim exeAssembly As String = [Assembly].GetEntryAssembly().FullName
        Console.WriteLine(exeAssembly)

        ' Construct and initialize settings for a second AppDomain.
        Dim ads As New AppDomainSetup()
        ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory
        ads.DisallowBindingRedirects = False
        ads.DisallowCodeDownload = True
        ads.ConfigurationFile = _
            AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

        ' Create the second AppDomain.
        Dim ad2 As AppDomain = AppDomain.CreateDomain("AD #2", Nothing, ads)

        ' Create an instance of MarshalbyRefType in the second AppDomain. 
        ' A proxy to the object is returned.
        Dim mbrt As MarshalByRefType = CType( _
            ad2.CreateInstanceAndUnwrap(exeAssembly, _
                 GetType(MarshalByRefType).FullName), MarshalByRefType)

        ' Call a method on the object via the proxy, passing the default 
        ' AppDomain's friendly name in as a parameter.
        mbrt.SomeMethod(callingDomainName)

        ' Unload the second AppDomain. This deletes its object and 
        ' invalidates the proxy object.
        AppDomain.Unload(ad2)
        Try
            ' Call the method again. Note that this time it fails because 
            ' the second AppDomain was unloaded.
            mbrt.SomeMethod(callingDomainName)
            Console.WriteLine("Sucessful call.")
        Catch e As AppDomainUnloadedException
            Console.WriteLine("Failed call; this is expected.")
        End Try

    End Sub
End Module

' Because this class is derived from MarshalByRefObject, a proxy 
' to a MarshalByRefType object can be returned across an AppDomain 
' boundary.
Public Class MarshalByRefType
    Inherits MarshalByRefObject

    '  Call this method via a proxy.
    Public Sub SomeMethod(ByVal callingDomainName As String)

        ' Get this AppDomain's settings and display some of them.
        Dim ads As AppDomainSetup = AppDomain.CurrentDomain.SetupInformation
        Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", _
            ads.ApplicationName, ads.ApplicationBase, ads.ConfigurationFile)

        ' Display the name of the calling AppDomain and the name 
        ' of the second domain.
        ' NOTE: The application's thread has transitioned between 
        ' AppDomains.
        Console.WriteLine("Calling from '{0}' to '{1}'.", _
            callingDomainName, Thread.GetDomain().FriendlyName)
    End Sub
End Class

'This code produces output similar to the following:
' 
' AppDomainX.exe
' AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
' AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
' Calling from 'AppDomainX.exe' to 'AD #2'.
' Failed call; this is expected.

注釈

オブジェクトによって表されるアプリケーション ドメインは、マネージド コードを実行するための分離、アンロード、セキュリティ AppDomain の境界を提供するのに役立ちます。

  • アプリケーション ドメインを使用して、プロセスをダウンする可能性があるタスクを分離します。 タスクを実行している の状態が不安定になった場合、 はプロセスに影響を与えることなく AppDomain AppDomain アンロードできます。 これは、プロセスを再起動せずに長時間実行する必要がある場合に重要です。 アプリケーション ドメインを使用して、データを共有すべきではないタスクを分離することもできます。

  • アセンブリが既定のアプリケーション ドメインに読み込まれている場合、プロセスの実行中にメモリからアンロードすることはできません。 ただし、アセンブリを読み込み、実行するために 2 つ目のアプリケーション ドメインを開いた場合、そのアプリケーション ドメインがアンロードされた場合、アセンブリはアンロードされます。 この手法を使用すると、大規模な DLL を使用する場合がある実行時間の長いプロセスのワーキング セットを最小限に抑える必要があります。

注意

.NET Core では、実装は設計によって制限され、分離、アンロード、またはセキュリティ AppDomain の境界を提供しない。 .NET Core の場合、 は 1 つです AppDomain 。 分離とアンロードは、 を介して提供されます AssemblyLoadContext 。 セキュリティ境界は、プロセス境界と適切なリモート処理手法によって提供する必要があります。

複数のアプリケーション ドメインを 1 つのプロセスで実行できます。ただし、アプリケーション ドメインとスレッドの間に 1 対 1 の相関関係はありません。 複数のスレッドを 1 つのアプリケーション ドメインに属し、特定のスレッドは 1 つのアプリケーション ドメインに限定されませんが、特定の時点でスレッドは 1 つのアプリケーション ドメインで実行されます。

アプリケーション ドメインは、 メソッドを使用して作成 CreateDomain されます。 AppDomain インスタンスは、アセンブリ ( ) を読み込み、実行するために使用されます Assembly 。 が AppDomain 使用されなくなった場合は、アンロードできます。

クラスは、アセンブリの読み込み時、アプリケーション ドメインのアンロード時、または未処理の例外がスローされた場合に、アプリケーションが応答できる一連のイベント AppDomain を実装します。

アプリケーション ドメインの使用の詳細については、「アプリケーション ドメイン」 を参照してください

このクラスは MarshalByRefObject 、、、 _AppDomain および インターフェイスを IEvidenceFactory 実装します。

オブジェクトのリモート処理可能ラッパーを作成 AppDomain する必要があります。 これにより、その へのリモート参照が発行され、 などのメソッドがリモート アクセスに公開され、その のコード アクセス セキュリティが効果的 AppDomain CreateInstance に破棄される可能性があります AppDomain 。 リモートに接続している悪意のあるクライアントは、自身がアクセスできる任意のリソース AppDomain AppDomain へのアクセス権を取得する可能性があります。 を拡張し、悪意のあるクライアントがセキュリティ システムをバイパスするために使用できるメソッドを実装する、リモート処理可能なラッパーを MarshalByRefObject 作成しません。

注意事項

プロパティの既定値は AppDomainSetup.DisallowCodeDownload です false 。 この設定は、サービスでは安全ではありません。 サービスが部分的に信頼されたコードをダウンロードできない場合は、このプロパティを に設定します true

プロパティ

ActivationContext

現在のアプリケーション ドメインのアクティベーション コンテキストを取得します。

ApplicationIdentity

アプリケーション ドメイン内のアプリケーションの ID を取得します。

ApplicationTrust

アプリケーションに付与されているアクセス許可の情報を取得し、実行に必要な信頼レベルがそのアプリケーションにあるかどうかを調べます。

BaseDirectory

アセンブリを探すためにアセンブリ リゾルバーが使用したベース ディレクトリを取得します。

CurrentDomain

現在の Thread に対する現在のアプリケーション ドメインを取得します。

DomainManager

アプリケーション ドメインの初期化時にホストから提供されたドメイン マネージャーを取得します。

DynamicDirectory

動的に作成されたアセンブリを探すためにアセンブリ リゾルバーが使用するディレクトリを取得します。

Evidence

このアプリケーション ドメインに関連付けられている Evidence を取得します。

FriendlyName

アプリケーション ドメインの表示名を取得します。

Id

プロセス内のアプリケーション ドメインを一意に識別する整数を取得します。

IsFullyTrusted

現在のアプリケーション ドメインに読み込まれたアセンブリが、完全に信頼された状態で実行されるかどうかを示す値を取得します。

IsHomogenous

アプリケーション ドメインに読み込まれたすべてのアセンブリに付与されるアクセス許可セットが、現在のアプリケーション ドメインに存在するかどうかを示す値を取得します。

MonitoringIsEnabled

現在のプロセスに対して、アプリケーション ドメインの CPU およびメモリの監視が有効になっているかどうかを示す値を取得または設定します。 プロセスに対して一度有効にした監視を無効にすることはできません。

MonitoringSurvivedMemorySize

最後のコレクションの実行後に残された、現在のアプリケーション ドメインによって参照されていることが判明しているバイト数を取得します。

MonitoringSurvivedProcessMemorySize

最後のコレクションの実行後に残された、プロセス内のすべてのアプリケーション ドメインにおける合計バイト数を取得します。

MonitoringTotalAllocatedMemorySize

アプリケーション ドメインが作成されてから、そのアプリケーション ドメインで実行されたすべてのメモリ割り当ての合計サイズをバイト単位で取得します。収集されたメモリは差し引かれません。

MonitoringTotalProcessorTime

プロセスが開始されてから、現在のアプリケーション ドメインでの実行中にすべてのスレッドで使用された合計プロセッサ時間を取得します。

PermissionSet
互換性のために残されています。

サンドボックス化されたアプリケーション ドメインのアクセス許可セットを取得します。

RelativeSearchPath

アセンブリ リゾルバーがプライベート アセンブリを探す場所を示す、ベース ディレクトリ以下のパスを取得します。

SetupInformation

このインスタンスのアプリケーション ドメイン構成情報を取得します。

ShadowCopyFiles

アプリケーション ドメインでファイルのシャドウ コピーを実行するよう設定されているかどうかを示す値を取得します。

メソッド

AppendPrivatePath(String)
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

指定されたディレクトリ名をプライベート パス リストに追加します。

ApplyPolicy(String)

ポリシーが適用された後のアセンブリの表示名を返します。

ClearPrivatePath()
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

プライベート アセンブリの場所を指定するパスを空の文字列 ("") にリセットします。

ClearShadowCopyPath()
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

シャドウ コピーされたアセンブリが含まれているディレクトリのリストを空の文字列 ("") にリセットします。

CreateComInstanceFrom(String, String)

指定した COM 型の新しいインスタンスを作成します。 型を含んでいるアセンブリのファイルの名前と、型の名前をパラメーターで指定します。

CreateComInstanceFrom(String, String, Byte[], AssemblyHashAlgorithm)

指定した COM 型の新しいインスタンスを作成します。 型を含んでいるアセンブリのファイルの名前と、型の名前をパラメーターで指定します。

CreateDomain(String)
互換性のために残されています。

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

CreateDomain(String, Evidence)

名前および証拠を指定して新しいアプリケーション ドメインを作成します。

CreateDomain(String, Evidence, AppDomainSetup)

名前、証拠、およびアプリケーション ドメイン設定情報を指定して、新しいアプリケーション ドメインを作成します。

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

指定された名前、証拠、アプリケーション ドメインの設定情報、既定のアクセス許可セット、および完全信頼されたアセンブリの配列を使用して、新しいアプリケーション ドメインを作成します。

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

名前、証拠、アプリケーション ベース パス、相対検索パス、およびアセンブリのシャドウ コピーをアプリケーション ドメインに読み込むかどうかを示すパラメーターを指定して、新しいアプリケーション ドメインを作成します。

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

名前、証拠、アプリケーション ベース パス、相対検索パス、およびアセンブリのシャドウ コピーをアプリケーション ドメインに読み込むかどうかを示すパラメーターを指定して、新しいアプリケーション ドメインを作成します。 アプリケーション ドメインを初期化したときに呼び出されるコールバック メソッドと、そのコールバック メソッドに渡す文字列型引数の配列を指定します。

CreateInstance(String, String)

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 バインダー、バインディング フラグ、コンストラクター引数、引数を解釈するために使用するカルチャ固有の情報、および省略可能なアクティベーション属性をパラメーターで指定します。

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
互換性のために残されています。
互換性のために残されています。

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 バインダー、バインディング フラグ、コンストラクター引数、引数を解釈するために使用するカルチャ固有の情報、アクティベーション属性、型を作成するために必要な承認情報をパラメーターで指定します。

CreateInstance(String, String, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。 アクティベーション属性の配列をパラメーターで指定します。

CreateInstanceAndUnwrap(String, String)

指定した型の新しいインスタンスを作成します。 型が定義されているアセンブリの名前と、型の名前をパラメーターで指定します。

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリで定義されている、指定した型の新しいインスタンスを作成します。型名の大文字と小文字の区別を無視するかどうか、作成する型を選択するために使用されるバインディング属性とバインダー、コンストラクターの引数、カルチャ、およびアクティベーション属性を指定します。

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
互換性のために残されています。
互換性のために残されています。

指定した型の新しいインスタンスを作成します。 型の名前、およびその検索方法と作成方法をパラメーターで指定します。

CreateInstanceAndUnwrap(String, String, Object[])

指定した型の新しいインスタンスを作成します。 型が定義されているアセンブリの名前、型の名前、およびアクティベーション属性の配列をパラメーターで指定します。

CreateInstanceFrom(String, String)

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
互換性のために残されています。
互換性のために残されています。

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFrom(String, String, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFromAndUnwrap(String, String)

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。型名の大文字と小文字の区別を無視するかどうか、作成する型を選択するために使用されるバインディング属性とバインダー、コンストラクターの引数、カルチャ、およびアクティベーション属性を指定します。

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)
互換性のために残されています。
互換性のために残されています。

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateInstanceFromAndUnwrap(String, String, Object[])

指定したアセンブリ ファイルで定義されている、指定した型の新しいインスタンスを作成します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess)

名前とアクセス モードを指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、および証拠を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、証拠、およびアクセス許可要求を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>)

名前、アクセス モード、およびカスタム属性を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>, SecurityContextSource)

名前、アクセス モード、カスタム属性、およびセキュリティ コンテキストのソースを指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、およびアクセス許可要求を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String)

名前、アクセス モード、およびストレージ ディレクトリを指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)

名前、アクセス モード、ストレージ ディレクトリ、および同期オプションを指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、ストレージ ディレクトリ、および証拠を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、ストレージ ディレクトリ、証拠、およびアクセス許可要求を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、ストレージ ディレクトリ、証拠、アクセス許可要求、および同期オプションを指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、ストレージ ディレクトリ、証拠、アクセス許可要求、同期オプション、およびカスタム属性を指定して、動的アセンブリを定義します。

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)
互換性のために残されています。
互換性のために残されています。

名前、アクセス モード、ストレージ ディレクトリ、およびアクセス許可要求を指定して、動的アセンブリを定義します。

DoCallBack(CrossAppDomainDelegate)

指定したデリゲートで識別される、別のアプリケーション ドメイン内のコードを実行します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExecuteAssembly(String)

指定したファイルに格納されているアセンブリを実行します。

ExecuteAssembly(String, Evidence)
互換性のために残されています。
互換性のために残されています。

指定したファイルに格納されているアセンブリを、指定した証拠を使用して実行します。

ExecuteAssembly(String, Evidence, String[])
互換性のために残されています。
互換性のために残されています。

指定したファイルに格納されているアセンブリを、指定した証拠と引数を使用して実行します。

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
互換性のために残されています。
互換性のために残されています。

指定したファイルに格納されているアセンブリを、指定した証拠、引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。

ExecuteAssembly(String, String[])

指定したファイルに格納されているアセンブリを、指定した引数を使用して実行します。

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
互換性のために残されています。

指定したファイルに格納されているアセンブリを、指定した引数、ハッシュ値、およびハッシュ アルゴリズムを使用して実行します。

ExecuteAssemblyByName(AssemblyName, Evidence, String[])
互換性のために残されています。
互換性のために残されています。

AssemblyName を指定し、指定された証拠および引数を使用してアセンブリを実行します。

ExecuteAssemblyByName(AssemblyName, String[])

AssemblyName を指定し、指定された引数を使用してアセンブリを実行します。

ExecuteAssemblyByName(String)

表示名を指定してアセンブリを実行します。

ExecuteAssemblyByName(String, Evidence)
互換性のために残されています。
互換性のために残されています。

表示名を指定し、指定された証拠を使用してアセンブリを実行します。

ExecuteAssemblyByName(String, Evidence, String[])
互換性のために残されています。
互換性のために残されています。

表示名を指定し、指定された証拠および引数を使用してアセンブリを実行します。

ExecuteAssemblyByName(String, String[])

表示名を指定し、指定された引数を使用してアセンブリを実行します。

GetAssemblies()

アプリケーション ドメインの実行コンテキストに読み込まれているアセンブリを取得します。

GetCurrentThreadId()
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

現在のスレッドの識別子を取得します。

GetData(String)

現在のアプリケーション ドメイン内に格納されている、指定した名前の値を取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの型を取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()

リースが作成されないようにすることで、AppDomain に無期限の有効期間を指定します。

InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
IsCompatibilitySwitchSet(String)

いずれかの互換性スイッチが設定されているかどうか、設定されている場合は指定の互換性スイッチが設定されているかどうかを示す、null 許容のブール値を取得します。

IsDefaultAppDomain()

アプリケーション ドメインが、プロセスの既定のアプリケーション ドメインであるかどうかを示す値を返します。

IsFinalizingForUnload()

このアプリケーション ドメインがアンロード中で、これに含まれるオブジェクトが共通言語ランタイムによって終了処理されているかどうかを示します。

Load(AssemblyName)

AssemblyName を指定して、Assembly を読み込みます。

Load(AssemblyName, Evidence)
互換性のために残されています。
互換性のために残されています。

AssemblyName を指定して、Assembly を読み込みます。

Load(Byte[])

生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。

Load(Byte[], Byte[])

生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。 Assembly のシンボルを表す生バイトも読み込まれます。

Load(Byte[], Byte[], Evidence)
互換性のために残されています。
互換性のために残されています。

生成された Assembly を含む COFF (Common Object File Format) ベースのイメージを使用して、Assembly を読み込みます。 Assembly のシンボルを表す生バイトも読み込まれます。

Load(String)

表示名を指定して Assembly を読み込みます。

Load(String, Evidence)
互換性のために残されています。
互換性のために残されています。

表示名を指定して Assembly を読み込みます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ReflectionOnlyGetAssemblies()

アプリケーション ドメインのリフレクション専用コンテキストに読み込まれているアセンブリを返します。

SetAppDomainPolicy(PolicyLevel)
互換性のために残されています。
互換性のために残されています。

アプリケーション ドメインのセキュリティ ポリシー レベルを設定します。

SetCachePath(String)
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

指定したディレクトリ パスを、アセンブリのシャドウ コピー先として設定します。

SetData(String, Object)

指定したアプリケーション ドメイン プロパティに、指定した値を割り当てます。

SetData(String, Object, IPermission)

アプリケーション ドメインの特定のプロパティに対し、指定された値を代入します。プロパティの取得時に呼び出し元に要求するアクセス許可を引数として受け取ります。

SetDynamicBase(String)
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

動的に生成されたファイルの格納先、およびそのファイルへのアクセス先となるサブディレクトリに対するベース ディレクトリとして、ディレクトリ パスを設定します。

SetPrincipalPolicy(PrincipalPolicy)

アプリケーション ドメインでスレッドを実行中に、スレッドがプリンシパルにバインドしようとした場合に、プリンシパル オブジェクトと ID オブジェクトをそのスレッドに関連付ける方法を指定します。

SetShadowCopyFiles()
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

シャドウ コピーをオンにします。

SetShadowCopyPath(String)
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

指定したディレクトリ パスを、シャドウ コピーするアセンブリがある場所として設定します。

SetThreadPrincipal(IPrincipal)

アプリケーション ドメインでスレッドを実行中に、スレッドがプリンシパルにバインドしようとした場合に、そのスレッドに関連付ける既定のプリンシパル オブジェクトを設定します。

ToString()

アプリケーション ドメインの表示名とコンテキスト ポリシーを含む文字列形式を取得します。

Unload(AppDomain)
互換性のために残されています。

指定したアプリケーション ドメインをアンロードします。

イベント

AssemblyLoad

アセンブリが読み込まれたときに発生します。

AssemblyResolve

アセンブリの解決が失敗したときに発生します。

DomainUnload

AppDomain をアンロードしようとすると発生します。

FirstChanceException

アプリケーション ドメイン内の例外ハンドラーに対する呼び出し履歴をランタイムが検索する前に、マネージド コード内で例外がスローされた場合に発生します。

ProcessExit

既定のアプリケーション ドメインの親プロセスが終了した場合に発生します。

ReflectionOnlyAssemblyResolve

リフレクション専用のコンテキストでアセンブリの解決に失敗した場合に発生します。

ResourceResolve

リソースが正しくリンクされていなかったり、アセンブリに埋め込まれているなどの理由からリソースの解決に失敗した場合に発生します。

TypeResolve

型の解決が失敗したときに発生します。

UnhandledException

例外がキャッチされない場合に発生します。

明示的なインターフェイスの実装

_AppDomain.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

_AppDomain.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。

_AppDomain.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

_AppDomain.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

適用対象

こちらもご覧ください