Ответы:
Один метод:
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);
Попробуй это!
Я попробовал это:
label1.Content = Directory.GetCurrentDirectory();
и получите также каталог.