2012-03-08 26 views
1

首先,我不問如何找到路徑,或使用IO類等如何編程方式刪除ASP.NET臨時互聯網文件

我經常重新啓動我的網站時,問題從Visual Studio(2010)(Win7)開發,它仍然拘泥於之前對ASP.NET臨時Internet文件的引用,並且我發現一旦刪除它們,問題就會消失。

手動刪除,我發現我必須深入的子文件夾的多層和刪除其內容之前,我可以在根文件夾中刪除。我試圖以編程方式做刪除與一個小實用程序,但獲取權限錯誤(UnauthorizedAccessException),即使當我運行1)從VS啓動爲「以管理員身份運行」或直接啓動我的exe時「以管理員身份運行」。

任何人有比手動鑽子文件夾平滑的答案?

謝謝!

回答

3

這本身並不是一個解決方案,但你不能刪除的文件的原因是因爲IIS或卡西尼(內置Visual Studio的Web服務器)是把鎖在他們身上。

殺應用程序池中運行的應用程序,如果你使用的是IIS,或關閉的Visual Studio(或殺死從其托盤圖標ASP.NET服務器)如​​果你使用卡西尼;那麼您可以刪除Temporary ASP.NET Files目錄中的根文件夾。

然後,只需重新啓動應用程序池或Visual Studio(如果你關閉了它),你就回去工作!

如果您正在使用IIS,它是7或更高版本,有一個命令行實用程序可以運行到停止:

appcmd start apppool /apppool.name: DefaultAppPool 

這將是容易只是掀起了一個批處理腳本做爲您提供:

@echo off 
appcmd stop apppool /apppool.name: DefaultAppPool 
del "C:\Windows\Microsoft.NET\Framework\vx.xxx.x\Temporary..." /f /q 
appcmd start apppool /apppool.name: DefaultAppPool 

如果您正在使用IIS 6.0,然後用here's an answer PowerShell腳本來啓動和停止它。您可以將其修改爲在其工作時刪除臨時文件夾。

+0

謝謝!該腳本肯定是先行者。奇怪的是,沒有關閉任何東西,我可以手動刪除文件,當我深入tehm(所以IIS至少允許這麼多)。 – 2012-03-08 19:04:45

+0

@JohnSpiegel:也許鎖是文件夾鎖而不是文件鎖?我從來沒有在意找到:) – 2012-03-08 19:06:03