(File.Copy) Необработанное «System.IO.IOException» в mscorlib.dll - PullRequest
0 голосов
/ 27 января 2019

У меня проблема с копированием файлов, если файл существует в целевой директории, перезаписать его, иначе ничего не делать.Но я получаю это сообщение об ошибке:

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++;
            }
        }                
    }
}

Ответы [ 3 ]

0 голосов
/ 27 января 2019

Используете ли вы копию файла в том же каталоге, пожалуйста, отметьте это ... или есть другой метод, называемый copyto, вы также можете использовать этот

FileInfo fi = new FileInfo(@"c:\onefile.txt");
fi.CopyTo(@"d:\anotherfile.txt", true); // existing file will be overwritten
0 голосов
/ 01 февраля 2019

Кажется, ваш файл не был скопирован в каталог. Я полагаю, ваш целевой путь слишком длинный для обнаружения

0 голосов
/ 27 января 2019

Я бы попробовал скопировать файлы, с которыми вы хотите работать, в отдельную папку.Visual Studio, скорее всего, виновник, но это может быть что угодно, блокирующее файлы.

Visual Studio блокирует файлы при отладке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...