File.Move не работает, когда ему предшествует File.Delete

У нас есть метод MoveFile, который обычно работает, но продолжает давать сбой на сайте заказчика.

if (File.Exists(target))
{
    File.Delete(target);
}

File.Move(source, target);

Вызов File.Move неоднократно терпит неудачу с

 ] System.IO.IOException: невозможно создать файл, если этот файл уже существует.

 в System.IO .__ Error.WinIOError (Int32 errorCode, String может бытьFullPath)
 в System.IO .__ Error.WinIOError ()
 в System.IO.File.Move (String sourceFileName, String destFileName)

У нас есть обработка ошибок при вызове этого метода, но мы не можем понять, почему File.Delete не работает и ничего не выдает.

Мы думали о разрешении файла, но потом File.Delete вызовет исключение UnauthorizedAccessException .

Существуют ли какие-либо другие причины, по которым File.Move завершится ошибкой с сообщением «файл уже существует» когда ему предшествует удаление этого конкретного файла?

12
задан Pierre-Alain Vigeant 18 April 2011 в 15:11
поделиться