GetFullPath没有输出?!VB.NET

GetFullPath没有输出?!VB.NET,vb.net,visual-studio-2010,path,Vb.net,Visual Studio 2010,Path,大家晚上好! 我有一个在vb.net中无法用GetFullPath方法解决的问题 我想做什么: 我想获取文本文件(test.txt)的完整路径,该文件与我正在处理的app.exe位于同一文件夹中。我需要完整路径才能使用其他方法。为了进一步了解它不起作用的原因,我将GetFullPath输出放在MsgBox中 发生了什么: MsgBox只显示一个空白。这真的很奇怪,因为即使test.txt不存在,输出也应该存在(就像文件存在一样)。 警告:在我的情况下,该文件存在 文件:参见“备注” 我是怎么想的

大家晚上好! 我有一个在vb.net中无法用GetFullPath方法解决的问题

我想做什么:

我想获取文本文件(test.txt)的完整路径,该文件与我正在处理的app.exe位于同一文件夹中。我需要完整路径才能使用其他方法。为了进一步了解它不起作用的原因,我将GetFullPath输出放在MsgBox中

发生了什么:

MsgBox只显示一个空白。这真的很奇怪,因为即使test.txt不存在,输出也应该存在(就像文件存在一样)。 警告:在我的情况下,该文件存在

文件:参见“备注”

我是怎么想的:

app.exe是否可能看不到同一文件夹中的test.txt?我不这么认为,它会发出一个信号。 也许是许可的问题?我真的不知道为什么MsgBox是空的

我的代码和平:

Dim file1为String=“test.txt”
MsgBox(GetFullPath(file1))

谢谢所有帮助我的人。 祝你今天愉快!:)
请原谅我英语不好。
Microsoft Visual Studio 2010。

您的代码中似乎有什么内容正在更改工作目录(或者在Windows XP中,未正确设置)。我在下面提供的GetFullPath函数将返回我认为您期望的路径,而不考虑工作目录

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    MessageBox.Show(GetFullPath("file.txt"))
End Sub

Private Function GetFullPath(fileName As String) As String
    Return IO.Path.Combine(Application.StartupPath, fileName)
End Function
或者你可以这样做

Label1.Text = Application.StartupPath

您是否在表单的
Load
事件中执行这段代码?您是否使用64位版本的Windows?我只需单击按钮即可执行,是的,我使用64位的Windows 7。ReadAllText()方法也不显示任何内容。
System.IO.GetFullPath()
返回指定路径字符串的绝对路径。它不会为您找到文件-它只是根据传递的字符串工作。如果字符串中没有驱动器或目录,则Return中不能有驱动器或目录是的,但文件位于主文件夹中,因此相对路径是文件名,不是吗?这取决于当前目录。如果当前目录不在文件所在的位置,仅传入文件名将不起作用。。。它在当前目录下工作。非常感谢Aeonhack!我真的不明白为什么它不起作用,但你的解决方案解决了我的问题:)祝你有一个愉快的一天!顺便问一下,您知道为什么ReadAllText(GetFullPath(“test.txt”)不返回任何内容吗?有没有可能我没有阅读的权限?本周发生了非常奇怪的事情…问题可能与FileIOPermissionAccess有关。阅读?我不知道如何使用它。谢谢你的帮助!