复制文件时遇到问题,如果文件存在于目标目录中,请覆盖它,否则什么也不做。但我收到此错误消息:
An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll The process cannot access the file [PATH]/TaskRepository.cs because it is being used by another process.
我什至几个小时都没有找到解决方案。寻找关于stackoverflow的其他主题,但找不到。我的代码在这里
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++;
}
}
}
}
答案 0 :(得分:0)
我会尝试将要使用的文件复制到单独的文件夹中。 Visual Studio很可能是罪魁祸首,但是它可以是锁定文件的任何东西。
答案 1 :(得分:0)
您是否在同一目录中使用文件复制,请检查此内容...或还有另一种称为copyto的方法,您也可以使用
FileInfo fi = new FileInfo(@"c:\onefile.txt");
fi.CopyTo(@"d:\anotherfile.txt", true); // existing file will be overwritten
答案 2 :(得分:0)
似乎您的文件未复制到目录中,我猜您的目标路径太长而无法被发现