我有一个简单的Windows窗体应用程序,我需要获取文件路径。我将配置文件放在同一目录中,我需要能够获取该文件的路径。
我用过
Application.CommonAppDataPath
但是最后会返回1.0.0.0的路径。
和
无论如何,只有主文件目录的路径没有附加到末尾?Applicaiton.StartupPath
但是在最后用
答案 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;
表示当前正在运行的应用程序路径目录,没有文件名