未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\…拒绝访问。
另外还有一个 Access denied 的错误说是不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files 下的某个目录。产生这些错误的原因很多,主要的可能包括:Bin 目录或者 Web.config 被更改以及访问文件系统的权限不够。
检查 Bin 目录的文件系统访问权限。一般只要确保 Users 容器拥有“读取和运行”、“列出文件夹目录”和“读取”的权限就可以了。
如果提示说不能访问 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\… ,可以将 Temporary ASP.NET Files 目录的访问权限列表中添加 Everyone,并设置为拥有所有的权限。然后在访问一次此 Web 应用程序后,将 Temporary ASP.NET Files 目录的访问权限列表中将 Everyone 删除就可以了。
综上所述的方法,主要包括:
禁用或设置 Indexing Service 服务;
检查 Bin 目录的访问权限;
设置 Temporary ASP.NET Files 目录的访问权限。
修改该目录的权限,加上“NETWORK SERVICE”,让它对该目录有控制权限。
修改IIS服务的缺省账户为“本地系统”
经验证,方法二可行,方法一失败。(yzt_andyamy采用方法一却成功了!)但是方法二会导致IIS运行不安全,所以这种方法不太合适。
Windows\Temp 的权限设置,把 “NETWORK SERVICE”的权限设置为“控制”级别,再试试!iis,user,也可以相应设置控制权限