(File.Copy) mscorlib.dll 中未处理 'System.IO.IOException'

(File.Copy) Unhandled 'System.IO.IOException' in mscorlib.dll

我在复制文件时遇到问题,如果目标目录中存在文件,则覆盖它,否则什么都不做。但我收到此错误消息:

mscorlib.dll 中发生了 'System.IO.IOException' 类型的未处理异常
进程无法访问文件 [PATH]/TaskRepository.cs
因为它正在被另一个进程使用。

我什至几个小时都没有找到解决方案。在 Whosebug 上寻找其他主题,但无法弄清楚。我的代码在这里

public void EditFiles(List<string> OriginalFiles, List<string> TargetFiles)
{
    foreach (var original in OriginalFiles)
    {
        int i = 0;
        int index = original.LastIndexOf(@"\");
        if (original.Substring(index).Contains("TaskRepository.cs"))
        {
            while (i < TargetFiles.Count)
            {
                if (TargetFiles[i].Contains("TaskRepository.cs") == true)
                {
                    File.Copy(original, TargetFiles[i], true);
                }
                i++;
            }
        }                
    }
}

我会尝试将您要使用的文件复制到一个单独的文件夹中。 Visual Studio 很可能是罪魁祸首,但也可能是锁定文件的任何东西。

Visual Studio locking files while debugging

您是否在同一目录中使用文件复制,请检查此...或者还有另一种称为 copyto 的方法,您也可以使用它

FileInfo fi = new FileInfo(@"c:\onefile.txt");
fi.CopyTo(@"d:\anotherfile.txt", true); // existing file will be overwritten

你的文件好像没有复制到目录下我猜你的目标路径太长了,找不到