从WPF应用程序获取应用程序的目录

我find了与AppDomain的Windows窗体的解决scheme,但什么是WPF Application对象的等价物?

一种方法:

 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 exePath = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName; string dir = Path.GetDirectoryName(exePath); 

尝试这个!

尝试这个。 不要忘记using System.Reflection

 string baseDir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 

我只使用了string baseDir = Environment.CurrentDirectory; 和它为我工作。

祝你好运

编辑:

我曾经删除这种types的错误,但我更喜欢编辑它,因为我认为这个答案的负面点帮助人们知道错误的方式。 :)我明白上面的解决scheme是没有用的,我把它改为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); 

祝你好运

您也可以从System.Windows.Forms中自由使用Application.StartupPath,但是您必须为System.Windows.Forms程序集添加引用!

我试过这个:

  label1.Content = Directory.GetCurrentDirectory(); 

并获得目录。