プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

コンソールアプリケーションの実行ファイルのパスを取得する

どういうこと?

Windowsフォームアプリケーションの実行ファイルのパスは、System.Windows.Forms.Application.StartupPath プロパティで取得できます。
Application.StartupPath プロパティ (System.Windows.Forms)
アプリケーションを開始した実行可能ファイルの、ファイル名を含まないパスを取得します。

しかし、コンソールアプリケーションのプロジェクトでは System.Windows.Forms アセンブリを参照していないので、この方法は使えません。コンソールアプリケーションなので参照追加するのも気持ちが悪いですよね。

どうすれば?

AppDomain.CurrentDomain.SetupInformation.ApplicationBase

で取得できます。
AppDomainSetup.ApplicationBase プロパティ (System)
アプリケーションが格納されているディレクトリの名前を取得または設定します。