我有一个 .net 4 winform 应用程序,对于一台计算机,System.IO.File.Exists("my file path") 每次都返回 false。
- 文件在那里。
- 如果用户使用文件资源管理器可以查看、打开、保存...该文件并具有对该文件夹的完全访问权限。
- 我制作了一个单独的 winforms 应用程序,它具有非常简单的代码(见下文)并且它可以工作。找到相同的文件。
这是代码:
If System.IO.File.Exists(txtPath.Text) Then
lblResults.BackColor = Color.Green
lblResults.Text = "Found"
Else
lblResults.BackColor = Color.Red
lblResults.Text = "No Joy"
End If
我还在不工作的应用程序中使用第 3 方 dll 来读取 imap 邮箱。这台计算机在尝试将附件保存到根目录时再次抛出错误,错误如下
saveAttachedFile:
index: 0
dir: Z:\XXX\Email\Attachments\6b333c68-4382-438c-99db-51a13ad1d71a\Attachments\
ensureDir:
createDirWin32:
WindowsError: The system cannot find the path specified.
WindowsErrorCode: 0x3
--createDirWin32
createDirWin32:
WindowsError: The system cannot find the path specified.
WindowsErrorCode: 0x3
--createDirWin32
Cannot ensure directory existence (2)
path: Z:\XXX
--ensureDir
Directory does not exist and cannot be created.
directory: Z:\CVO\Email\Attachments\6b333c68-4382-438c-99db-51a13ad1d71a\Attachments\
--saveAttachedFile
所以这似乎是一个权限问题。但话又说回来,用户/计算机可以通过资源管理器或仅检查文件是否存在的第二个 .net 应用程序访问它?
我不确定还能尝试什么。任何帮助建议将不胜感激。
已经在域中尝试过这台多台计算机,它们都可以正常工作。试过不同的用户登录电脑出现同样的问题。找不到文件以管理员身份运行第一个应用程序同样的问题,找不到文件。
If System.IO.File.Exists(txtPath.Text) Then
lblResults.BackColor = Color.Green
lblResults.Text = "Found"
Else
lblResults.BackColor = Color.Red
lblResults.Text = "No Joy"
End If
System.IO.File.Exists(txtPath.Text) 在一个应用程序中返回 False,但在第二个应用程序中返回 True