1. ホーム
  2. c#

[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?

2022-03-21 19:14:28

質問内容

コンソールアプリケーションでアプリケーションのパスを見つけるにはどうしたらいいですか?

Windowsフォーム を使用することができます。 Application.StartupPath を使用して現在のパスを見つけることができますが、これはコンソールアプリケーションでは使用できないようです。

解決方法は?

System.Reflection.Assembly.GetExecutingAssembly() . Location 1

と組み合わせる。 System.IO.Path.GetDirectoryName ディレクトリだけが必要な場合

1 ミンドルさんのコメントの通りです。
System.Reflection.Assembly.GetExecutingAssembly().Location は実行中のアセンブリが現在置かれている場所を返しますが、これは実行されていないときのアセンブリが置かれている場所とは限りません。アセンブリをシャドウコピーした場合は、テンポラリディレクトリのパスが返されます。 System.Reflection.Assembly.GetExecutingAssembly().CodeBase は、アセンブリの「永久的な」パスを返します。