Получение каталога приложения из приложения WPF

Я нашел решения для Windows Forms с AppDomain, но что было бы эквивалентом для объекта WPF Application?

Ответ 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();

и получите также каталог.