Im getting this error too 
what I'm trying to do is:
Copy an archive from a source path to a dest. path
FileInfo FS = new FileInfo(source);
FS.CopyTo(dest,true);
then, I got this error message when Im trying to Delete the Original File (the one in the source path).
File.Delete(source);
What I Did was to make a function that waits for exclusive access to the original file doing this:
private void WaitForExclusiveAccess(string FullPath)
{while (true){
try
{
FileStream fs = new FileStream(FullPath, FileMode.Open, FileAccess.Read,
FileShare.None);
fs.Close();
break;
}
catch
{Thread.Sleep(4);}
}
so the final code goes like this:
FileInfo FS = new FileInfo(source);
FS.CopyTo(dest,true);
WaitForExclusiveAccess(source);
File.Delete(source);
but Im afraid this solution isnt just the best one because that Thread.Sleep(4); affects the Page performance.
any suggestions ?