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文件。

对于这种奇怪的行为,请给我一些建议。

C#File.Exist(File_Path)返回false,即使File_Path为true,文件存在,并且我有权访问

当我导出File.存在于x86配置中时,我有相同的结果,但当我在64中时,两个文件返回true,我在网上发现了该文件。存在于SysWOW64中的搜索中,请查看此问题以了解更多信息:使用File.Exists 检查文件是否存在于64位系统上

我修复了在使用域凭据创建的映射上检查文件时出现的类似问题。我以管理员身份调试VS。我能够通过Windows资源管理器导航到文件,但不能使用VS.

当我关闭VS管理模式并重新正常启动时,我解决了这个问题。