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. 

由於我通過VS 2010 IIS從我的機器IIS更改了要託管的網站,因此發生錯誤。我的解決方案以前曾在VS 2010 IIS中工作過,因爲我從VS IIS轉到機器IIS,回到VS ISS。

我將dll複製到臨時目錄時發生了我的問題。

File.Copy(... 

我測試了目錄上的各種權限,沒有任何幫助。我也運行了aspnet_regiis -i命令,希望它能在臨時目錄中恢復所需的權限。

我沒有任何問題,如果我刪除'../暫時ASP.NET目錄',它只發生在我嘗試替換現有的文件時。

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 – 2014-12-07 19:49:23

回答

5

我剛剛花了幾個小時解決這個非常相同的問題。在我的情況下,這些DLL來自一個簽入SourceSafe的解決方案,並且在複製到臨時文件夾時,它們被標記爲ReadOnly。一旦我刪除了ReadOnly屬性,問題就消失了...

2

你沒有提到你運行的是哪個版本的IIS。但是您可以使用FileMon或ProcessMon來確定哪個用戶和資源被拒絕。

+1

正在使用VS 2010開發服務器。 Windows 7上的IIS 6.1完全停留在這一個上。現在兩個服務器上都出現這個問題。 – Christo 2012-02-26 10:53:38

+3

謝謝。我試着對這個問題提出其他建議,但無濟於事。使用ProcessMon,查找問題變得輕而易舉。 – 2014-01-20 18:13:26

+2

@JohnRobertson那麼解決方案是什麼? – spuder 2015-11-10 17:17:14

1

由於涉及模擬,這可能會變得棘手。檢查你的web.config的東西類似於

<identity impersonate="true" ... 

正在模擬的用戶還需要對臨時文件夾的權限。我不得不重新啓動,刪除臨時文件夾,並重新啓動,直到它終於把我的變化和編譯沒有這個錯誤...