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