请查看我的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);
任何帮助将不胜感激。谢谢,
答案 0 :(得分:5)
我花了好几个小时来解决这个问题。在我的情况下,dll来自已签入SourceSafe的解决方案,当复制到临时文件夹时,它们被标记为ReadOnly。一旦我删除了ReadOnly属性,问题就消失了......
答案 1 :(得分:2)
您没有提到您运行的是哪个版本的IIS。但您可以使用FileMon或ProcessMon来确定拒绝哪个用户和资源。
答案 2 :(得分:1)
由于涉及假冒,这可能会变得棘手。检查你的web.config是否像
那样 <identity impersonate="true" ...
正在模拟的用户还需要临时文件夹的权限。我不得不重新启动,删除临时文件夹,然后重新启动,直到它最终完成我的更改并编译时没有出现此错误......