Iis &引用;错误:cs0016无法写入输出文件。。。“访问被拒绝”;

Iis &引用;错误:cs0016无法写入输出文件。。。“访问被拒绝”;,iis,Iis,如何修复以下错误 错误:cs0016无法写入输出文件…c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\sitename\6c57f9d2\bb09b49d\App_global.asax.5odzsyz5.dll'访问被拒绝 我为这个问题挣扎了一段时间。 在web上找到一些涉及在错误消息中设置“临时ASP.NET文件”目录权限的解决方案。但即使是向“所有人”开放也不起作用 然后,通过以下步骤最终解决了

如何修复以下错误

错误:cs0016无法写入输出文件…c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\sitename\6c57f9d2\bb09b49d\App_global.asax.5odzsyz5.dll'访问被拒绝


我为这个问题挣扎了一段时间。 在web上找到一些涉及在错误消息中设置“临时ASP.NET文件”目录权限的解决方案。但即使是向“所有人”开放也不起作用

然后,通过以下步骤最终解决了该问题:

  • 转到此网站的IIS应用程序池
  • 右键单击应用程序池并转到高级设置
  • 将标识从“ApplicationPoolIdentity”更改为“NetworkService”

  • 可能还有其他一些必要的步骤,我在排除故障时执行了这些步骤,但这是关键步骤。由于某些原因,当“Everyone”为“Everyone”时,应用程序池标识(如IIS\U APPPOOL\SiteName)未被授予访问权限。我相信其他人可以解释为什么会这样。。。希望这能帮助其他人解决这个令人沮丧的问题。

    在花了几个小时解决这个问题之后,我自己下面是一个在运行IIS 7.5的Windows 7上适用的解决方案:

    与站点关联的应用程序池标识不是IIS_IUSRS组的成员。要将应用程序池标识添加到组,我使用了以下步骤:

  • 从开始菜单中选择运行…输入lusrmgr.msc并单击确定
  • 选择组
  • 双击IIS\U IUSRS组
  • 单击添加。。。按钮
  • 单击位置。。。按钮
  • 选择您的计算机名(应位于列表顶部),然后单击“确定”
  • 在“输入要选择的对象名称”下面的文本框中,输入: iis apppool\)这是因为应用程序池标识无法写入windows临时目录。为了解决这个问题,我将IIS_IUSRS组添加到具有读/写权限的windows临时目录中

  • 从开始菜单中选择运行…输入%windir%,然后单击确定
  • 右键单击临时目录并选择属性
  • 单击安全选项卡
  • 单击编辑。。。按钮
  • 单击“添加…”按钮。。按钮
  • 单击位置。。。按钮
  • 选择您的计算机名(应位于列表顶部),然后单击“确定”
  • 在“输入要选择的对象名称”下面的文本框中,输入:iis\U iusrs
  • 单击“检查名称”按钮。如果出现“找不到名称”对话框,请检查输入错误。如果未出现对话框,请单击“确定”
  • 选择添加的IIS_IUSRS组,并在下面的“每个人的权限”框中选择: 允许读和允许写
  • 单击“确定”。将显示一个对话框,说明“您将要更改 系统文件夹上的权限设置,这可能导致意外的访问问题 并降低安全性。是否要继续?”
  • 单击是
  • 单击“确定”

  • 我已修复将“网络服务”的完全控制设置为系统温度的问题:

    C:\Windows\temp

    web服务器报告的错误消息有点误导。
    希望这能有所帮助。

    我在这篇文章中找到了正确的答案。我尝试了“网络服务”,但没有成功。然而“LocalSystem”做到了

    我也有同样的问题。
    找到了一个简单的解决方法:在应用程序池的高级设置中将“加载用户配置文件”设置为true。

    我拥有所有关于写入和读取的权限,但我开始遇到该错误

    我可以建议“重启机器”
    至少,它对我来说是有效的适用于Windows 7为用户
    IIS\U IUSRS
    设置文件夹
    C:\Windows\Temp
    的完全控制权限

    网络服务
    用户通常只在服务器上应用

    去 C:\Windows\Temp 右键单击临时文件夹>转到安全性单击编辑
    添加新用户[IIS_IUSRS]并授予其完全权限。然后按Ok,

    我曾尝试在IIS中提供有关身份的权限和更改,但我遇到了相同的错误

    我只是将以下文件保存在路径“C:\Windows\Microsoft.NET\Framework\v4.0.30319”下,问题就解决了

  • 对最近的文件夹授予完全控制权限
  • cvtres.exe(XML配置文件)
  • cvtres(应用程序)

  • 这些都是很好的方向。此外,尽管在尝试加载站点时,我必须使用System Internal的Process Monitor实用程序,并对w3wp.exe和csc.exe进程的拒绝访问结果进行筛选,然后授予对IIS_IUSRS组的拒绝访问文件夹路径的修改访问权。但我的一天已经结束!我只做了一件额外的事情来让它为我工作,我允许IIS_IUSRS“修改”权限这为我解决了服务器2012 R2上IIS 8.5的问题。谢谢你给我这个非常棒的指南,我自己永远也不会明白这一点!有人能解释一下为什么我的应用程序池要写入
    C:\Windows\Temp
    ?另外,只是一个观察,我在一个IIS实例上有多个应用程序池,它们都在使用ApplicationPoolIdentity,但是只有一些池出现了这个奇怪的错误,但不是所有池都出现了这个错误。为什么?可能有用,但很多人会在应用安全错误时出错。我已经尝试了很多方法。但最终这个解决方案对我有效。谢谢@Jako。欢迎访问该网站。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时对自己的帖子发表评论,一旦您发表评论,您就可以发表评论。同时,请不要使用答案发表评论。当你这样做时,你的应用程序计数变为零,但当你检查你的应用程序时,它们都在那里,这是正常的吗?我将其更改为LocalSystem,它就工作了。我也对IUSR给予了优先考虑。这不是一个解决方案,而是一个解决方案。此外,这也违反了IIS最佳实践,就好像您有多个应用程序p