【发布时间】:2012-02-28 16:08:19
【问题描述】:
我正在尝试返回存在于%WINDIR%\System32\inetsrv\config 中的.config 文件。
为此,我使用以下代码:
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 个文件。
-
您是在 64 位环境中运行它吗?如果是这样,如果将 System32 更改为 SysWOW64 会发生什么?
-
@AndreLoker 没什么区别...不过我在 x64 上
-
也许您错过了路径中的配置文件夹?
Environment.ExpandEnvironmentVariables("%WINDIR%") + @"\System32\inetsrv\config" -
@roymustang86 虽然这是一个错字,但我错过了我的测试代码中的配置(字面意思是上面的行),但遗憾的是它仍然不起作用。
标签: c# fileinfo directoryinfo system.io.fileinfo