【发布时间】:2015-10-15 00:11:50
【问题描述】:
在 mscorlib.dll 中发生了 System.IO.IOException 类型的未处理异常
附加信息:该进程无法访问文件pathOfMyFile,因为它正被另一个进程使用。
这是我到达File.Delete 时遇到的错误
我的代码如下所示:
File.Copy(frompath, topath1);
File.Copy(frompath, topath2);
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
File.Delete(frompath);
frompath 是 .png 图像的路径。
我可以做些什么来完成这项工作?
【问题讨论】:
-
topath1、topath2和topath是三个不同的变量。您的应用程序或其他应用程序仍持有topath指向的文件的锁定。显示所有相关代码。 -
您是要删除 frompath 吗?我假设您不是试图复制文件只是为了转身并删除您刚刚制作的副本。
-
是的,我写错了
-
您能否在您的问题中分享一些更相关的细节和您之前的研究?您还对
frompath中的文件做什么? Do you have a virus scanner?根据可以告诉您这一点的工具(例如 Unlocker),谁持有锁? -
你能在一个全新的程序中重现这个吗?例如,你把它放到一个新的控制台应用程序中,给它一个路径,它会失败吗?你也说,“不能删除 after 复制。”你是说如果你删除两个 File.Copy 行然后你可以删除?