Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在另一进程中使用的文件_C# - Fatal编程技术网

C# 正在另一进程中使用的文件

C# 正在另一进程中使用的文件,c#,C#,我有一个后台工作人员,负责检查文件哈希和大小,并与列表进行比较。当它检查文件时,我想这样做,如果它没有退出,它将下载该文件,然后继续列表,它会在下面的代码中出错 using (Stream streamLocal = new FileStream(sFilePathToWriteFileTo, FileMode.Create)) 我只在某些文件上收到错误,它是错误的进程无法访问该文件,因为它正被另一个进程使用。当没有其他程序使用它时,或者除非它在检查它时试图下载它。听起来你好像不在乎这个错误。

我有一个后台工作人员,负责检查文件哈希和大小,并与列表进行比较。当它检查文件时,我想这样做,如果它没有退出,它将下载该文件,然后继续列表,它会在下面的代码中出错

using (Stream streamLocal = new FileStream(sFilePathToWriteFileTo, FileMode.Create))

我只在某些文件上收到错误,它是错误的
进程无法访问该文件,因为它正被另一个进程使用。
当没有其他程序使用它时,或者除非它在检查它时试图下载它。

听起来你好像不在乎这个错误。所以把它放在试块里

try
{
    using (Stream streamLocal = new FileStream(sFilePathToWriteFileTo, FileMode.Create))
    {
        ...
    }
}
catch { }

这里的代码太多了。请回答您的问题,并将其减少到解决问题所需的最小数量。期望我们费力地阅读那么多代码,试图找出发生了什么是完全不合理的。只将代码放在出错的地方。如果有任何其他代码有人想让我知道。Windows认为有另一个进程在使用该文件,您认为没有,您认为谁更可能是正确的?另外请注意,当您自己的进程已经打开文件时,可能会引发此异常。我确信这是我自己的进程,我希望有一种方法不让它被捕获。