无法从我的程序写入另一台计算机中的XML文件

时间:2009-12-04 06:11:37

标签: c#

当我写入XML文件时,会发生异常:“无法访问文件,因为它被另一个进程使用”。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

您可以在相关计算机上使用“Process Explorer”(易于查找)之类的内容来仔细检查哪个进程正在锁定文件。如果您拥有竞争过程,那么您可以做的最好的事情就是请操作员关闭阻止您的文件和/或应用程序。

假设您执行,您管理锁定文件的其他进程?意外锁定的最常见原因是文件未完全关闭。检查您是否虔诚地在使用后关闭所有文件句柄,理想情况下使用using,以便即使在错误条件下它们也会关闭 - 例如:

using(Stream dest = File.Create(path)) {
    // write to dest
}

答案 1 :(得分:1)

这很可能意味着另一个程序已锁定此文件。尝试保存在另一个位置,并确保在写完文件时正确处理用于写入文件的对象。还要仔细检查您是否具有写入此文件夹的适当权限(尝试在那里创建基本文本文件)

请注意,您的程序可能使用与登录时不同的权限运行。

答案 2 :(得分:0)

您尝试写入的XML文件当前将由任何其他进程[文件已打开]打开,并且将处于锁定状态。您无法修改已锁定的文件。

关闭当前正在使用该资源的所有文件句柄。