From the documentation of File.Move:
Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an IOEx
The correct way to do it would be to call
File.Replace(source, destination, copy)
That does the trick for me