从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();
并获得目录。