2010-11-15 82 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路徑。

相關問題