我在 C# 中创建了一个 32 位应用程序。因为它是 32 位的,所以它不能访问 64 位的位置,例如 C:\Windows\System32。要访问 64 位位置,我知道我需要改用 C:\Windows\Sysnative。
我想检查 System32 中是否存在文件。我在那里放置了一个文件,可以在我的文件资源管理器中查看它,所以我知道它存在。
但是,当我使用以下代码时,File.Exists 方法总是返回 false。Sysnative 似乎根本没有重定向。如何使用 File.Exists 和 %windir% 和 Sysnative 从 32 位应用程序中查找 System32 中的文件?
string fileName = "someFile.dll";
string path = Environment.ExpandEnvironmentVariables(@"%windir%\Sysnative\" + fileName);
//path should be 'C:\Windows\System32\'+fileName;
bool fileExists = File.Exists(path); //Always returns false