何するの?
AppDomain について勉強中です。 今回は、現在のアプリケーションが動いている AppDomain とは別の AppDomain を立ち上げて情報を見てみます。
ソースコード
static void Main(string[] args) { var currentDomain = AppDomain.CurrentDomain; // 現在のプログラムが動いている Application Domain を取得してその情報を表示している Console.WriteLine( $"AppDomainID: {currentDomain.Id} AppDomainName: {currentDomain.FriendlyName} Path: {currentDomain.SetupInformation.ApplicationBase}"); // Application Domain をセットアップするための準備をしている var setup = new AppDomainSetup(); setup.ApplicationBase = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); // 現在の Application Domainの子供となる Application Domain を作成している var childDomain = AppDomain.CreateDomain("ChildDomain", null, setup); // 子供となる Application Domain の情報を表示している Console.WriteLine($"AppDomainID: {childDomain.Id} AppDomainName: {childDomain.FriendlyName} Path: {childDomain.SetupInformation.ApplicationBase}"); }
実行結果
VSでコンソールアプリ立ち上げてデバッグ無しで実行をしただけです。
AppDomainID: 1 AppDomainName: ConsoleApp1.exe Path: C:\Users\gurag\source\repos\test\ConsoleApp1\bin\Debug\ AppDomainID: 2 AppDomainName: ChildDomain Path: C:\Users\gurag\Desktop
わかったこと
- デフォルトの AppDomain の SetupInfomatino のApplication Base は Bin/Debug フォルダになっている。おそらく、 hoge.exe のある場所?
- AppDomain を立ち上げるのは思ったより簡単。