7

请查看我的UnauthorizedAccessException ASP.NET错误。拒绝访问Temp ASP.NET目录

Access to the path 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\8909a2b1\8566823\Nop.Plugin.Feed.Froogle.dll' is denied. 

由于我通过VS 2010 IIS从我的机器IIS更改了要托管的网站,因此发生错误。我的解决方案以前曾在VS 2010 IIS中工作过,因为我从VS IIS转到机器IIS,回到VS ISS。

我将dll复制到临时目录时发生了我的问题。

File.Copy(... 

我测试了目录上的各种权限,没有任何帮助。我也运行了aspnet_regiis -i命令,希望它能在临时目录中恢复所需的权限。

我没有任何问题,如果我删除'../暂时ASP.NET目录',它只发生在我尝试替换现有的文件时。

File.Copy("source", "c:\windows\microsoft.net\framework\v4\temporary asp.net files\...\###.dll", true); 

任何帮助,将不胜感激。谢谢,

+0

请参阅http://stackoverflow.com/questions/917446/frequent-access-denied-to -temporary-asp-net-files – 2014-12-07 19:49:23

回答

5

我刚刚花了几个小时解决这个非常相同的问题。在我的情况下,这些DLL来自一个签入SourceSafe的解决方案,并且在复制到临时文件夹时,它们被标记为ReadOnly。一旦我删除了ReadOnly属性,问题就消失了...

2

你没有提到你运行的是哪个版本的IIS。但是您可以使用FileMon或ProcessMon来确定哪个用户和资源被拒绝。

+1

正在使用VS 2010开发服务器。 Windows 7上的IIS 6.1完全停留在这一个上。现在两个服务器上都出现这个问题。 – Christo 2012-02-26 10:53:38

+3

谢谢。我试着对这个问题提出其他建议,但无济于事。使用ProcessMon,查找问题变得轻而易举。 – 2014-01-20 18:13:26

+2

@JohnRobertson那么解决方案是什么? – spuder 2015-11-10 17:17:14

1

由于涉及模拟,这可能会变得棘手。检查你的web.config的东西类似于

<identity impersonate="true" ... 

正在模拟的用户还需要对临时文件夹的权限。我不得不重新启动,删除临时文件夹,并重新启动,直到它终于把我的变化和编译没有这个错误...