コンソールアプリケーションでアプリケーションのパスを見つけるにはどうすればいいですか?
Windows Forms]1では、Application.StartupPath
を使って現在のパスを見つけることができますが、コンソールアプリケーションではこれが使えないようです。
System.Reflection.Assembly.GetExecutingAssembly()
.Location
1
ディレクトリが欲しいだけなら、System.IO.Path.GetDirectoryName
と組み合わせてください。
1※Mindor氏のコメントによると、以下のようになります。
System.Reflection.Assembly.GetExecutingAssembly().Location
は、実行中のアセンブリが現在置かれている場所を返しますが、これは、実行していないときにアセンブリが置かれている場所である場合もあれば、そうでない場合もあります。アセンブリをシャドーコピーしている場合は、テンポラリディレクトリのパスを取得します。System.Reflection.Assembly.GetExecutingAssembly().CodeBase
は、アセンブリの「恒久的な」パスを返します。