【发布时间】:2012-06-14 00:58:25
【问题描述】:
如何解决以下错误?
错误:cs0016 无法写入输出文件...c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\sitename\6c57f9d2\bb09b49d\App_global.asax.5odzsyz5.dll'访问被拒绝
【问题讨论】:
标签: iis
如何解决以下错误?
错误:cs0016 无法写入输出文件...c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\sitename\6c57f9d2\bb09b49d\App_global.asax.5odzsyz5.dll'访问被拒绝
【问题讨论】:
标签: iis
在我自己在这个问题上花了几个小时之后,下面是在运行 IIS 7.5 的 Windows 7 上为我工作的解决方案:
与站点关联的应用程序池标识不是 IIS_IUSRS 组的成员。要将应用程序池身份添加到组中,我使用了以下步骤:
为您要添加的每个应用程序池身份重复第 7 步到第 8 步。 点击确定。
现在应用程序池标识是 IIS_IUSRS 组的成员,该组应该已经可以访问 Temporary ASP.NET Files 目录。毕竟我仍然收到错误并且我发现(感谢process monitor)这是因为应用程序池标识无法写入 Windows 临时目录。为了解决这个问题,我将 IIS_IUSRS 组添加到具有读/写权限的 windows 临时目录中。
【讨论】:
C:\Windows\Temp?另外,只是一个观察,我在一个 IIS 实例上有多个应用程序池,它们都使用 ApplicationPoolIdentity,但是只有一些池会给出这个奇怪的错误,但不是全部。为什么?
我已解决此问题,将“网络服务”的完全控制设置为系统温度:
C:\Windows\temp
网络服务器报告的错误信息有点误导。 希望这会有所帮助。
【讨论】:
我为这个问题苦苦挣扎了一段时间。 在网上找到一些解决方案,涉及在错误消息中设置“Temporary ASP.NET Files”目录的权限。但即使对“所有人”开放也没有用。
然后最终通过以下步骤修复它:
可能还有一些其他必要的步骤,我在故障排除时执行了这些步骤,但这是关键步骤。由于某种原因,当“所有人”被授予访问权限时,应用程序池标识(例如 IIS_APPPOOL\SiteName)未被授予访问权限。我相信其他人可以解释为什么会这样......希望这可以帮助其他人解决这个令人沮丧的问题。
【讨论】:
Local System 提供给不需要它的应用程序是“全权委托”。
我遇到了同样的问题。 找到了一种简单的解决方法:在应用程序池的高级设置中将“加载用户配置文件”设置为 true。
【讨论】:
我发现这篇文章中接受的答案在处理过程中是正确的。我尝试了“NetworkService”,但它不起作用。但是“LocalSystem”做到了!
【讨论】:
对于 Windows 7 为用户 IIS_IUSRS 设置 Full Control 文件夹 C:\Windows\Temp 的权限
Network Service用户通常只适用于服务器
【讨论】:
Temporary ASP.Net Files 目录,但C:\Windows\Temp 是罪魁祸首。添加了 IIS_IUsers,完全控制,它工作了。
只需要设置“Temp”文件夹的权限。
全部完成。
【讨论】:
我曾尝试在 IIS 中提供有关身份的权限和更改,但我遇到了同样的错误。
我只是将以下文件保留在“C:\Windows\Microsoft.NET\Framework\v4.0.30319”路径下,问题就消失了。
【讨论】:
我在这里尝试了所有选项,但没有任何运气。 对我有用的是简单地删除应用程序池并重新创建它。
不需要任何文件夹的额外权限。
【讨论】:
我拥有关于写入和读取的所有权限,但我开始收到该错误。
我可以建议“重启机器” 至少,它对我有用
【讨论】: