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. 

내 컴퓨터 IIS에서 VS 2010 IIS를 통해 호스팅되는 웹 사이트를 변경 한 이후에 오류가 발생했습니다. 내 솔루션은 이전에 VS 2010에서 IIS에서 VS ISS로 다시 IIS 컴퓨터로 갔을 때 IIS에서 작동했습니다.

dll을 임시 디렉토리에 복사 할 때 내 문제가 발생합니다.

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에 체크인 된 솔루션에서 가져온 것이므로 Temporary 폴더에 복사하면 ReadOnly로 표시됩니다. ReadOnly 특성을 제거하면 문제가 사라졌습니다.

2

실행중인 IIS 버전을 언급하지 않았습니다. 그러나 FileMon 또는 ProcessMon을 사용하여 어떤 사용자 및 리소스가 거부되는지 확인할 수 있습니다.

+1

VS 2010 개발 서버를 사용하고있었습니다. Windows 7의 IIS 6.1이 완전하게 막혔습니다. 이제이 문제는 두 서버 모두에서 발생합니다. – Christo

+3

감사합니다. 나는이 문제에 대한 다른 제안을 쓸데없이 시도했다. ProcessMon을 사용하면 문제를 쉽게 발견 할 수있었습니다. –

+2

@JohnRobertson 그래서 해결책은 무엇입니까? – spuder

1

가장을 사용하면이 작업이 까다로워 질 수 있습니다. web.config에서 다음을 확인하십시오.

<identity impersonate="true" ... 

가장 된 사용자도 임시 폴더에 대한 사용 권한이 필요합니다. 재부팅하고 임시 폴더를 삭제 한 다음 다시 변경하여 최종적으로 변경 사항을 적용하고이 오류없이 컴파일해야합니다 ...