System.IO.DirectoryInfo.Exists
总是返回false如果我给这样一个UNC \\192.168.0.33\Others (F)
。是否有任何替代System.IO.DirectoryInfo.Exists
只有当我从已安装的应用程序运行时才会发生,否则如果路径为true,则会返回true。
System.IO.DirectoryInfo.Exists
总是返回false如果我给这样一个UNC \\192.168.0.33\Others (F)
。是否有任何替代System.IO.DirectoryInfo.Exists
只有当我从已安装的应用程序运行时才会发生,否则如果路径为true,则会返回true。
要访问UNC文件,你需要首先通过提供凭证和打开网络共享的连接连接到网络的位置,之后你可以运行DirectoryInfo.Exists
查找到的P/Invoke到WNetAddConnection2/NetUse添加并传递用户名/密码 - 那么你应该可以访问文件/文件夹信息。
编辑:
试试这个班我做了连接到UNC路径: http://www.mediafire.com/?77ae4ratoqa7s4b
谢谢。我可以通过我的应用程序将文件写入到网络路径中。我仍然需要获得creditnals来检查路径是否存在? – 2010-11-15 07:27:26
没有,如果你能写,那么你应该能够得到目录信息。 – ace 2010-11-15 07:28:59
但你说,“它只发生在我从已安装的应用程序运行时” - 我不清楚这两个场景是什么......你的意思是当你从Visual Studio调试应用程序时它运行良好,但是一旦你安装应用程序然后DirectoryInfo.Exits不会返回true?如果是这种情况,那么从visual studio vs安装内部运行时,用户凭据看起来就不一样了。 – ace 2010-11-15 07:31:12
尝试System.IO.Directory.Exists()
。
它应该工作。我的猜测是您的代码运行的帐户无法访问UNC路径。
请在下面的答案中试试包装类,它应该适合您。 – ace 2010-11-15 07:23:18