如何解决以下错误?
错误:cs0016无法写入输出文件... c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ sitename \ 6c57f9d2 \ bb09b49d \ App_global.asax.5odzsyz5.dll'访问被拒绝
答案 0 :(得分:24)
在这个问题上花了好几个小时后,我自己在运行IIS 7.5的Windows 7上运行的解决方案:
与站点关联的应用程序池标识不是IIS_IUSRS组的成员。要将应用程序池标识添加到组,我使用了以下步骤:
对要添加的每个应用程序池标识重复步骤7到8。 单击“确定”。
现在,应用程序池标识是IIS_IUSRS组的成员,该组应该已经可以访问Temporary ASP.NET Files目录。毕竟我仍然收到错误,我发现(感谢process monitor)这是因为应用程序池标识无法写入Windows临时目录。为了解决这个问题,我将IIS_IUSRS组添加到具有读/写权限的Windows临时目录中。
答案 1 :(得分:15)
我已修复此问题,将“网络服务”的完全控制设置为系统温度:
<强> C:\的Windows \温度强>
Web服务器报告的错误消息有点误导。 希望这会有所帮助。
答案 2 :(得分:13)
我一直在努力解决这个问题。 在Web上找到一些涉及在错误消息中的“Temporary ASP.NET Files”目录上设置权限的解决方案。但即使向“所有人”开放它也不起作用。
然后最终修改了以下步骤:
我可能还有一些其他必要的步骤,我在进行故障排除时会这样做,但这是关键步骤。出于某种原因,当“Everyone”为时,App Pool Identity(例如IIS_APPPOOL \ SiteName)未被授予访问权限。我相信其他人可以解释为什么会出现这种情况......希望这有助于其他人解决这个令人沮丧的问题。
答案 3 :(得分:8)
我遇到了同样的问题。 找到一种简单的解决方法:在应用程序池的高级设置中将“加载用户个人资料”设置为true。
答案 4 :(得分:3)
对于 Windows 7 为用户Full Control
设置文件夹C:\Windows\Temp
的{{1}}权限
IIS_IUSRS
用户通常只适用于服务器
答案 5 :(得分:2)
我发现这篇文章中接受的答案是正确的。我尝试过“NetworkService”但它没有用。但是“LocalSystem”确实做到了!
答案 6 :(得分:0)
我拥有写作和阅读的所有权限,但我开始遇到这个错误。
我可以建议“重启机器” 至少,它对我有用
答案 7 :(得分:0)
答案 8 :(得分:0)
我曾经尝试过提供有关身份的权限并在IIS中进行更改,但是我遇到了同样的错误。
我只是将以下文件保留在路径“ C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319”下,问题就消失了。
答案 9 :(得分:0)
我在这里尝试了所有选项,但没有任何运气。 对我有用的是简单地删除应用程序池并重新创建它。
无需任何文件夹的额外权限。