System.UnauthorizedAccessException: 访问路径被拒绝 VS2013

System.UnauthorizedAccessException: Access to the path is denied VS2013

我通过 VS2013 运行 我的 asp.net Web 应用程序时出现以下错误。

错误: System.UnauthorizedAccessException: 访问路径 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root[=27=]c9c5fe5acd19b' 被拒绝。

仅供参考,我之前遇到了一些错误,为了解决该错误,我删除了导致上述错误的 "Temporary ASP.NET Files\root\" 文件夹中的所有文件。

我试过以下方法: - 使用管理员权限重新启动 VS2013! - 在我的网络应用程序文件夹上添加了完全权限 IIS_IUSRS - C:\Samples\ASP.NET\WebApp1 - 在我的 aspnet 临时文件夹上添加了完全权限 IIS_IUSRS - C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root

请帮忙!

您的解决方案中是否有任何 dll 标记为只读?

它们是否已从源代码管理中检出?

修改权限后重启了吗?

应用程序池用户的身份是什么,他们是否有权访问临时文件夹?

您的网络应用是否在冒充其他用户?

您的应用程序是否在启动时执行任何可能导致此问题的操作?

使用 SysInternals FileMon 查看是否有其他进程正在使用它。

对我来说,问题是由异常设置引起的。 调试 -> Windows -> 异常设置 在显示的 window 中取消选中 -> Common Language Runtime Exceptions

我不时打开它以中断所有错误,包括已处理的错误并一直保持打开状态。然后在调试我的 ASP.Net MVC 应用程序时,它会在启动时出现访问被拒绝错误而停止。我的猜测是它尝试将临时文件写入位置 A,收到拒绝访问错误,然后使用位置 B。

我通过将 "IUSR" 的读写权限添加到 "Temporary ASP.NET Files" 文件夹解决了这个问题。由于某些奇怪的原因,IIS_IUSRS 似乎不起作用。