【问题标题】:System.UnauthorizedAccessException: Access to the path is denied VS2013System.UnauthorizedAccessException:访问路径被拒绝 VS2013
【发布时间】:2015-02-28 23:54:52
【问题描述】:

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

错误: System.UnauthorizedAccessException:对路径“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0c9c5fe5\51acd19b”的访问被拒绝。

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

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

请帮忙!

【问题讨论】:

标签: asp.net visual-studio-2013


【解决方案1】:

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

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

更改权限后是否重新启动?

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

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

您的应用在启动时是否有任何动作,可能会导致这种情况?

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

【讨论】:

  • 感谢@ralph-willgoss,没有一个程序集被标记为只读。我重新启动系统,错误消失了。但是,我得到了原来的错误:编译器错误消息:CS0433:类型“NorthwindApp.DAL.Categories”存在于两个“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root”中\0c9c5fe5\51acd19b\assembly\dl3\ab057b39\a0a21d7d_b826d001\NorthwindApp.DLL' 和 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\0c9c5fe5\51acd19b\App_Code.ryyqawx5。 dll'
  • 再次感谢@ralph-willgoss,请创建一个答案,现在将标记为已解决。
  • 一个重要的事实,我为什么会遇到这种错误,是因为我在我的 Web 应用程序项目中使用了“App_Code”文件夹。请注意,“App_Code”文件夹只能是用于网站项目,而不是Web App项目!!!所以,如果你想放一些类文件并编译它们,你需要创建一个“App_code”以外的文件夹,即使是没有下划线字符的“AppCode”也应该可以。 . Vishal 写的很好的文章App_Code folder doesn’t work with Web Application Projects (WAPs)
【解决方案2】:

对我来说,问题是由异常设置引起的。 调试 -> Windows -> 异常设置 在显示的窗口中取消选中 -> 公共语言运行时异常

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

【讨论】:

  • 完全相同的场景。我从未想过摆弄我的异常设置会以这种方式影响核心功能的 Microsoft 代码
  • @bkwdesign 仅当您禁用“仅我的代码”时才会这样做。通常 VS 应该看到异常不在您的代码中,因此无论您是否启用了第一次机会异常处理逻辑,都不会应用它。
  • 如果您还禁用了我的代码,并且您希望这样,您可以通过以管理员身份运行 VS 来阻止此错误的发生。
  • 我的问题是 MSVC 没有捕获异常(在试图理解原因时发现了这一点)。打开异常会捕获异常,但是当这个异常(和其他)被捕获时,它是相当令人担忧的。选择“仅我的代码”(请参阅​​ msdn.microsoft.com/en-us/library/dn457346.aspx)似乎过滤了异常以仅在我的代码中显示问题,而不是在 .NET 框架中显示问题。
【解决方案3】:

我通过将“IUSR”的读写权限添加到“Temporary ASP.NET Files”文件夹解决了这个问题。由于某些奇怪的原因,IIS_IUSRS 似乎无法正常工作。

【讨论】:

  • 为我工作:Windows 10、Visual Studio 2017
猜你喜欢
  • 1970-01-01
  • 2021-06-19
  • 2017-01-24
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 2021-04-02
相关资源
最近更新 更多