拒绝访问Temp ASP.NET目录

时间:2012-02-24 05:02:26

标签: asp.net-mvc visual-studio-2010 iis file-permissions temporary-directory

请查看我的UnauthorizedAccessException 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.

自从我的机器IIS通过VS 2010 IIS更改网站以来,发生了错误。我的解决方案以前在VS 2010 IIS中工作,因为我从VS IIS到机器IIS再到VS ISS。

将dll复制到临时目录时出现问题。

File.Copy(...

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

如果我删除'../Temporary ASP.NET Directory',我就没有任何问题,只有当我尝试替换现有文件时才会出现这种情况。

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

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

3 个答案:

答案 0 :(得分:5)

我花了好几个小时来解决这个问题。在我的情况下,dll来自已签入SourceSafe的解决方案,当复制到临时文件夹时,它们被标记为ReadOnly。一旦我删除了ReadOnly属性,问题就消失了......

答案 1 :(得分:2)

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

答案 2 :(得分:1)

由于涉及假冒,这可能会变得棘手。检查你的web.config是否像

那样
    <identity impersonate="true"  ...

正在模拟的用户还需要临时文件夹的权限。我不得不重新启动,删除临时文件夹,然后重新启动,直到它最终完成我的更改并编译时没有出现此错误......