mscorlib.dll中的System.UnauthorizedAccessException

时间:2018-12-03 21:56:11

标签: c# asp.net .net iis

我正在开发ASP.NET应用程序。然后,我没有在Visual Studio的调试器中测试该应用程序,而是通过File Deploy将其传输到另一台服务器。该应用程序在那里工作。

关闭计算机后,我想重新进行开发。从那时起,我再也无法在Visual Studio调试器/ IIS中启动我的应用程序。始终出现以下错误消息:

  

引发异常:mscorlib.dll中的“ System.UnauthorizedAccessException”(“对路径的访问” C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ ASP.NET临时文件\ AspCheck_b8e5127411412.tmp被拒绝。”)

提到的路径不包含任何文件。

为什么没有更多的程序集?这是我发布到另一个目标时所做的特殊设置吗?

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

临时ASP.NET文件 ,. NET是动态存储已编译站点的位置。例如, App_Code 文件夹中的每个* .cs文件都将内置到 i23y4ui .dll中,并移动到 247ksdfklj 文件夹中。这些名称也是动态形成的。

我建议的是

选项1:

在DEV计算机上,您

  • 转到此文件夹:

      

    C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ ASP.NET临时文件\

  • 停止IIS或IIS Express

  • 并删除文件夹中的所有内容。 这将迫使您的应用程序完全重新编译。

选项2

以管理员身份启动Visual Studio。对于某些用户,有时Windows选项已被锁定,这也可能导致此错误。当站点托管在IIS中时,这种情况会更常见。

选项3:

创建一个对“所有人”具有完全访问权限的文件夹,并将其设置在web.config中的编译元素中

<system.web>
            <compilation tempDirectory="C:\MyCompilationTest\temporary_asp_net_files\test1" />
        </system.web>

答案 1 :(得分:0)

对于其他面临类似问题的人,请注意,这也可能是由您自己的代码中的错误引起的。就我而言,我为MVC控制器中的视图分配了错误的模型。

In controller:
MyWrongModel model = new MyWrongModel();
return View(model);

In View:
@model CorrectModel;

答案 2 :(得分:0)

正如杰克所说,当代码中有错误时,即使构建成功,也会出现此问题。我遇到了一个重复的重写规则名称,因此,如果您修改了.config文件,请在此处检查!

答案 3 :(得分:0)

我遇到过两次这个愚蠢的问题,它总是用于安装 Microsoft Visual x86 元素,或者重复安装同一年的版本。 两次删除它们似乎都可以解决问题......