我有一个创建文件的C#单线程应用程序。使用该文件然后删除它。有时应用程序无法删除该文件。我得到的错误是:
“进程无法访问文件 - 文件路径和文件名 - 因为它正由另一个进程使用。”
如何找出哪个进程暂停此文件,以及如何让该进程松开以便删除该文件。
答案 0 :(得分:0)
这件事非常“摇摇欲坠”。
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
Process Monitor v3.05
它有一个“过滤器”子菜单,因此您可以将其微调到锁定的文件。
答案 1 :(得分:0)
您需要发布相关代码,以便我们查看。
然而,确保您的应用关闭已打开的文件始终非常重要。
通常这样的事情将确保:
using(var f = File.OpenRead("myfile")) {
...
}
或同等的:
try {
var f = File.OpenRead("myfile");
} finally {
f.close()
}
答案 2 :(得分:0)
确保在删除前关闭文件。
如果您正在使用StreamWriter类,请确保使用其变量
关闭Ex. StreamWriter sw = new StreamWriter();
// some writing operation
sw.Close();