我们有一个MoveFile方法,通常可以工作,但在客户站点仍然失败.
if (File.Exists(target))
{
File.Delete(target);
}
File.Move(source, target);
Run Code Online (Sandbox Code Playgroud)
呼叫File.Move失败反复失败
Run Code Online (Sandbox Code Playgroud)System.IO.IOException: Cannot create a file when that file already exists. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.__Error.WinIOError() at System.IO.File.Move(String sourceFileName, String destFileName)
我们有围绕调用该方法的错误处理,但我们无法弄清楚为什么File.Delete不工作并且没有抛出任何东西.
我们虽然关于文件许可,但是那File.Delete会扔掉一个UnauthorizedAccessException.
File.Move在删除该特定文件之前,还有其他原因导致"文件已存在"失败吗?
Mar*_*rcE 12
你能扭转逻辑吗?
File.Copy (source, target, true)
Run Code Online (Sandbox Code Playgroud)
然后覆盖目标
File.Delete(source)
Run Code Online (Sandbox Code Playgroud)