7

Просмотрите мою ошибку ASP.NET UnauthorizedAccessException.Доступ запрещен для каталога ASP.NET Temp

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 к Machine IIS обратно в VS ISS.

Проблема возникает при копировании dll в каталог temp.

File.Copy(... 

Я протестировал различные разрешения в каталоге и ничего не помог. Я также запускал команду aspnet_regiis -i в надежде, что он восстановит требуемые разрешения в каталоге temp.

У меня нет проблем, если я удалю «../Temporary ASP.NET Directory», это происходит только при попытке заменить существующие файлы.

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 –

ответ

5

Я только что потратил несколько часов на устранение этой же проблемы. В моем случае DLL были из решения, которое было проверено в SourceSafe, и при копировании в папку temp они были отмечены ReadOnly. Как только я удалил атрибут ReadOnly, проблема исчезла ...

2

Вы не указали, какую версию IIS вы использовали. Но вы можете использовать FileMon или ProcessMon, чтобы определить, какой пользователь и ресурс отказывают.

+1

Использовал сервер разработки VS 2010. IIS 6.1 на Windows 7. полностью застрял в этом. Теперь проблема возникает на обоих серверах. – Christo

+3

Спасибо. Я пробовал другие предложения по этой проблеме безрезультатно. С ProcessMon стало легко найти проблему. –

+2

@JohnRobertson, каково было решение? – spuder

1

При использовании олицетворения это может оказаться сложным. Проверьте web.config на что-то вроде

<identity impersonate="true" ... 

Пользователь, который выдает себя за также необходимо разрешение на папки Temp. Мне пришлось перезагрузиться, удалить временные папки и перезагрузиться до тех пор, пока он не примет мои изменения и скомпилирован без этой ошибки ...