在Windows窗体应用程序中获取应用程序文件

时间:2010-11-03 14:11:41

标签: asp.net winforms

我有一个简单的Windows窗体应用程序,我需要获取文件路径。我将配置文件放在同一目录中,我需要能够获取该文件的路径。

我用过 Application.CommonAppDataPath 但是最后会返回1.0.0.0的路径。

Applicaiton.StartupPath 但是在最后用

无论如何,只有主文件目录的路径没有附加到末尾?

3 个答案:

答案 0 :(得分:1)

Application.StartupPath最后返回\bin\debug的路径,因为 代码正在运行,至少在您的开发机器上

如果要从开发机器上部署它,那么Application.StartupPath将为您提供所需的内容 - 应用程序的文件路径。是的,如果您已将配置文件部署到同一位置,您的代码将会找到它。

如何使应用程序也在您的开发机器上工作并绕过bin\debug问题?好吧,肮脏的黑客只是将bin\debug字符串从Application.StartupPath的末尾删除。

在这种情况下,如果您需要检查是否在调试器中运行,请参阅this question

答案 1 :(得分:0)

尝试

Dim aPath As String 
Dim aName As String 

aName = _
  System.Reflection.Assembly.GetExecutingAssembly. _
  GetModules()(0).FullyQualifiedName    

aPath = System.IO.Path.GetDirectoryName(aName) 

答案 2 :(得分:0)

您可以使用

Application.ExecutablePath;提供包含可执行文件名的完整路径 和

Application.StartupPath;表示当前正在运行的应用程序路径目录,没有文件名