Я нашел решения для Windows Forms с AppDomain, но что было бы эквивалентом для объекта WPF Application
?
Получение каталога приложения из приложения WPF
Ответ 1
Один метод:
System.AppDomain.CurrentDomain.BaseDirectory
Другой способ сделать это:
System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
Ответ 2
Вот еще один:
System.Reflection.Assembly.GetExecutingAssembly().Location
Ответ 3
Вы также можете использовать первый аргумент аргументов командной строки:
String exePath = System.Environment.GetCommandLineArgs()[0]
Ответ 4
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
string dir = Path.GetDirectoryName(exePath);
Попробуйте это!
Ответ 5
Попробуйте это. Не забывайте using System.Reflection
.
string baseDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Ответ 6
Я использовал просто string baseDir = Environment.CurrentDirectory;
и его работу для меня.
Удача
Edit:
Я использовал этот тип ошибки, но я предпочитаю его редактировать, потому что я думаю, что минус-точка этого ответа помогает людям узнать о неправильном пути.:) Я понял, что вышеупомянутое решение не полезно, и я изменил его на 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);
Удача
Ответ 7
Вы также можете свободно использовать Application.StartupPath из System.Windows.Forms, но вы должны добавить ссылку для сборки System.Windows.Forms!
Ответ 8
Я пробовал это:
label1.Content = Directory.GetCurrentDirectory();
и получите также каталог.