7

请查看我的 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 到 Machine IIS 再回到 VS ISS。

当我将 dll 复制到临时目录时,会出现我的问题。

File.Copy(...

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

如果我删除“../Temporary ASP.NET 目录”,我没有任何问题,它仅在我尝试替换现有文件时发生。

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

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

4

3 回答 3

5

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

于 2012-04-11T22:24:01.080 回答
2

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

于 2012-02-24T18:22:36.500 回答
1

涉及模拟时,这可能会变得很棘手。检查你的 web.config 是否有类似的东西

    <identity impersonate="true"  ...

被模拟的用户还需要临时文件夹的权限。我不得不重新启动,删除临时文件夹,然后再次重新启动,直到它最终接受了我的更改并在没有此错误的情况下编译...

于 2013-01-25T18:22:03.227 回答