簡體   English   中英

C#File.Exist(File_Path)返回false,即使File_Path為true,文件存在並且我有權訪問該文件

[英]C# File.Exist(File_Path) Returns false even if File_Path is true, file exists and i have rights to access that file

我正在寫一個將在Windows 7上運行的軟件。我正在列出已安裝的服務,獲取服務的圖像路徑位置,並檢查服務文件是否存在。(Dll或Exe)。

我正在使用File.Exist(File_Path)檢查文件位置。 對於某些文件,即使文件路徑為true ,文件也存在,並且我有權訪問該文件,它仍返回false

我知道即使該文件存在,如果用戶沒有訪問該File.Exist(File_Path)權限, File.Exist(File_Path)返回false。

例如,它的文件返回true C:\\Windows\\System32\\appmgmts.dll但它返回假文件C:\\Windows\\System32\\audiosrv.dll

當我在Windows資源管理器中查看這兩個文件的用戶權限時,它們是完全相同的。 但是File.Exist(File_Path)對於這些文件返回不同的答案。

我正在運行Visual Studio,並且以管理員身份運行Exe文件。

請給我一些有關這種奇怪行為的建議。

當我在x86配置中執行File.Exists時,我得到的結果是相同的,但是當我64歲時,這兩個文件返回true,並且在網上發現SysWOW64中您搜索的File.Exists時,請查看此問題以獲取更多信息: 使用File.Exists檢查文件是否在64位系統上存在

我修復了在通過使用域憑據創建的映射檢查文件時發生的類似問題。 我以管理員身份調試VS。 我可以通過Windows資源管理器導航到該文件,但不能使用VS。

當我關閉VS Admin模式並重新正常啟動時,我解決了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM