2010-11-15 126 views
1

System.IO.DirectoryInfo.Exists总是返回false如果我给这样一个UNC \\192.168.0.33\Others (F)是否有任何替代System.IO.DirectoryInfo.Exists

只有当我从已安装的应用程序运行时才会发生,否则如果路径为true,则会返回true。

+0

请在下面的答案中试试包装类,它应该适合您。 – ace 2010-11-15 07:23:18

回答

3

要访问UNC文件,你需要首先通过提供凭证和打开网络共享的连接连接到网络的位置,之后你可以运行DirectoryInfo.Exists

查找到的P/Invoke到WNetAddConnection2/NetUse添加并传递用户名/密码 - 那么你应该可以访问文件/文件夹信息。

编辑:

试试这个班我做了连接到UNC路径: http://www.mediafire.com/?77ae4ratoqa7s4b

+0

谢谢。我可以通过我的应用程序将文件写入到网络路径中。我仍然需要获得creditnals来检查路径是否存在? – 2010-11-15 07:27:26

+0

没有,如果你能写,那么你应该能够得到目录信息。 – ace 2010-11-15 07:28:59

+1

但你说,“它只发生在我从已安装的应用程序运行时” - 我不清楚这两个场景是什么......你的意思是当你从Visual Studio调试应用程序时它运行良好,但是一旦你安装应用程序然后DirectoryInfo.Exits不会返回true?如果是这种情况,那么从visual studio vs安装内部运行时,用户凭据看起来就不一样了。 – ace 2010-11-15 07:31:12

2

尝试System.IO.Directory.Exists()

0

它应该工作。我的猜测是您的代码运行的帐户无法访问UNC路径。

相关问题