什么进程阻止我的文件在C#中被删除

时间:2013-06-05 17:32:29

标签: c#

我有一个创建文件的C#单线程应用程序。使用该文件然后删除它。有时应用程序无法删除该文件。我得到的错误是:

“进程无法访问文件 - 文件路径和文件名 - 因为它正由另一个进程使用。”

如何找出哪个进程暂停此文件,以及如何让该进程松开以便删除该文件。

3 个答案:

答案 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();