我试图返回%WINDIR%\System32\inetsrv\config
中存在的.config
文件。DirectoryInfo.GetFiles方法不返回任何文件
对于这个我使用下面的代码:
DirectoryInfo configFolder = new DirectoryInfo(Environment.ExpandEnvironmentVariables("%WINDIR%") + @"\System32\inetsrv\");
FileInfo[] configFiles = configFolder.GetFiles("*.config");
这将返回零个对象为configFiles
。如果我使用另一个文件夹(比如D:\ DropBox)工作正常!
此代码用于工作,有什么变化?
另外,FileInfo fi = new FileInfo(Path.Combine(configPath, "applicationHost.config"));
返回正常,但fi.Length抛出FileNotFoundException
。
似乎它必须是权限,但我看不到如何检查代码运行时是否有权限!
权限也许?正在使用的安全上下文可能没有对该位置的读取访问权限并且看到0个文件。 – SpaceBison 2012-02-28 16:11:03
你在64位环境中运行这个吗?如果是这样,如果将System32更改为SysWOW64会发生什么情况? – 2012-02-28 16:13:06
@AndreLock没有什么区别...我在x64上虽然 – neildeadman 2012-02-28 16:19:12