Получение каталога приложения из приложения WPF - PullRequest
159 голосов
/ 02 июня 2009

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

Ответы [ 8 ]

311 голосов
/ 02 июня 2009

Один метод:

System.AppDomain.CurrentDomain.BaseDirectory

Другой способ сделать это будет:

System.IO.Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
27 голосов
/ 04 июня 2009

Вот еще одно:

System.Reflection.Assembly.GetExecutingAssembly().Location
7 голосов
/ 03 сентября 2010

Вы также можете использовать первый аргумент аргументов командной строки:

String exePath = System.Environment.GetCommandLineArgs()[0]

4 голосов
/ 12 декабря 2012

Я использовал просто 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);

Удачи

3 голосов
/ 15 апреля 2012

Попробуй это. Не забудьте using System.Reflection.

string baseDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
3 голосов
/ 02 июня 2009
String exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName;
 string dir = Path.GetDirectoryName(exePath);

Попробуйте это!

0 голосов
/ 30 мая 2014

Я пробовал это:

    label1.Content = Directory.GetCurrentDirectory();

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

0 голосов
/ 14 февраля 2011

Вы также можете свободно использовать Application.StartupPath из System.Windows.Forms, но вы должны добавить ссылку для сборки System.Windows.Forms!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...