C#File.Exist(File_Path)返回false,即使File_Path为true,文件存在,并且我有权访问
本文关键字:File Path 访问 存在 文件 即使 Exist 返回 false C#File true | 更新日期: 2023-09-27 18:24:45
我正在编写一个将在Windows7上运行的软件。我将列出已安装的服务,获取服务的映像路径位置,并检查服务文件是否存在。(Dll或Exe)。
我正在使用File.Exist(File_Path)
检查文件位置。对于某些文件,即使文件路径为true
,文件存在并且我有权访问该文件,它也会返回false
。
我知道,即使该文件存在,如果用户没有访问权限,File.Exist(File_Path)
也会返回false。
例如,对于文件C:'Windows'System32'appmgmts.dll
,它返回true但对于文件C:'Windows'System32'audiosrv.dll
返回false
当我在Windows资源管理器下查看这两个文件的用户权限时,它们完全相同。但是File.Exist(File_Path)
对这些文件返回不同的答案。
我正在以管理员身份运行Visual Studio和Exe文件。
对于这种奇怪的行为,请给我一些建议。
当我导出File.存在于x86配置中时,我有相同的结果,但当我在64中时,两个文件返回true,我在网上发现了该文件。存在于SysWOW64中的搜索中,请查看此问题以了解更多信息:使用File.Exists 检查文件是否存在于64位系统上
我修复了在使用域凭据创建的映射上检查文件时出现的类似问题。我以管理员身份调试VS。我能够通过Windows资源管理器导航到文件,但不能使用VS.
当我关闭VS管理模式并重新正常启动时,我解决了这个问题。