回答:
1つの方法:
System.AppDomain.CurrentDomain.BaseDirectory
それを行う別の方法は:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
ここに別のものがあります:
System.Reflection.Assembly.GetExecutingAssembly().Location
コマンドライン引数の最初の引数を使用することもできます。
String exePath = System.Environment.GetCommandLineArgs()[0]
私は単純string baseDir = Environment.CurrentDirectory;
にその仕事をしてくれました。
幸運を
編集:
私は以前このタイプの間違いを削除しましたが、この答えのマイナス点が人々が間違った方法について知るのに役立つと思うので、私はそれを編集することを好みます。:)上記の解決策は役に立たないことを理解し、string appBaseDir = System.AppDomain.CurrentDomain.BaseDirectory;
他の方法に変更しました:
1. string baseDir =
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
2. String exePath = System.Environment.GetCommandLineArgs()[0];
3. string appBaseDir = System.IO.Path.GetDirectoryName
(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
幸運を
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
これを試して!