C# Application.ExecutablePath on WPF Framework 3.5

泄露秘密 提交于 2019-12-10 10:12:21

问题


This line is fine in a WinForm Framework3.5 but not in a WPF Framework3.5.

Path.GetDirectoryName(Application.ExecutablePath); 

How can I get the exe path on a WPF app ?


回答1:


There are several ways to get exe path. Try the next:

  • Application.StartupPath
  • Path.GetDirectoryName(Environment.GetCommandLineArgs()[0])
  • Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName)
  • Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)
  • System.Reflection.Assembly.GetEntryAssembly().Location



回答2:


Try this:

System.IO.Path.GetDirectoryName( 
  System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );



回答3:


You can unpack a Uri like this:

string codeBase = Assembly.GetExecutingAssembly().CodeBase;
   UriBuilder uri = new UriBuilder(codeBase);
   string path = Uri.UnescapeDataString(uri.Path);


来源:https://stackoverflow.com/questions/17966871/c-sharp-application-executablepath-on-wpf-framework-3-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!