使用StreamWriter'File.AppendText',出现的错误是“正在被另一个进程使用”

时间:2018-08-10 10:03:36

标签: c# file-io

我有一个用C#编写的控制台应用程序,我通过将其构建为exe并使用其他软件通过命令行参数调用它来确定C#exe的功能。

c#exe偶尔通过以下代码写入日志文件:

using (StreamWriter w = File.AppendText(_loggerDirectory))
        {
            w.WriteLine(dateString + " | " + message);
        }

我认为问题在于,有时多个不同的进程会同时几乎同时打开同一exe文件,并且当程序的两个实例要调用上述代码时,其中一个它们运行得很好,但是另一个给了我以下错误:

System.IO.IOException: The process cannot access the file 'C:\..\Commands\log.txt' because it is being used by another process.

是否可以通过某种方法使程序等到文件不被使用,然后再尝试写入?或欢迎使用其他解决方案来解决此问题。

0 个答案:

没有答案