我嘗試從我指定的目錄中刪除文件。第一次它的偉大工程,但第二次就給出了一個異常:無法刪除文件(進程無法訪問文件,因爲它正在被另一個進程使用)
該進程無法訪問文件「C:\用戶\ DAAGEU \應用程序數據\本地的\ Temp \ Manual_Avatar \ AdamBody_1K_Pants_Black_Blended.jpg」,因爲它正在被另一個進程使用。
foreach (String file in Directory.GetFiles((userDirectory)))
{
try
{
//using (FileStream fs = new FileStream(file, FileMode.OpenOrCreate))
//{
//fs.Unlock(fs.Position, fs.Length);
//fs.Dispose();
//fs.Close();
//}
File.Delete(file);
}
catch (Exception)
{
throw;
}
}
它只是似乎被「鎖定」的圖像。我發現了一些在stackoverflow的東西,但沒有幫助?我使用一些第三方軟件來生成圖像。
任何1知道如何解決這個問題或解決它?
答:
我發現這個問題。我正在使用WinForms,並且在一個WinForm中,我用圖像託管了一個WPF控件。我發現在關閉UC之後我沒有處理這個UC。所以我的錯我應該已經在這個問題上提出了...
你提供的所有代碼?你是否在相同的代碼中創建這些圖像,如果是,你是關閉和處理創建圖像的流或過程? – mservidio 2012-01-30 14:08:31
@丹尼爾A.懷特,它的評論。 @ mservidio目錄由一些第三方軟件生成。如果我進行了更改,我想刪除所有文件,並使用第三方軟件重新生成該文件夾! – dg90 2012-01-30 14:12:34
嘗試使用文件解鎖器實用程序(unlocker,lockhunter)來查看哪個進程正在保存該文件。如果它是你的應用程序,那麼你還沒有向我們展示更多的代碼。 – 2012-01-30 14:13:25