我尝试从我指定的目录中删除文件。第一次它的伟大工程,但第二次就给出了一个异常:无法删除文件(进程无法访问文件,因为它正在被另一个进程使用)
该进程无法访问文件“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