我尝试从我指定的目录中删除文件。它第一次运行良好,但第二次它给出了下一个例外:
该进程无法访问文件'C:\ Users \ DAAGEU \ AppData \ Local \ 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。所以我的错也应该在这个问题中得到了解释......
答案 0 :(得分:2)
尝试通过Windows资源管理器以常规方式删除文件。如果你得到那个恼人的弹出窗口,说无法删除...它正被另一个人或程序使用,你可以下载 Unlocker 并让它确切地告诉你哪个进程有锁定它。这个小程序多年来对我非常有用。它甚至可以从记忆棒运行,因此安装是一种选择。安装它绝对是一个优点,因为它会在你弹出窗口时自动弹出锁定程序的名称。