锁定目录并在 File.Copy 期间获取 FileNotFoundException

Locked directory and getting FileNotFoundException during File.Copy

我正在尝试将共享文件复制到本地副本:

File.Copy("\sharedmachine\directory\file.exe", "\localmachine\directory\file.exe", true);

源文件存在,但如果在 "Windows Explorer" 中打开另一个 user/machine 目录,则此操作锁定并且在复制过程中我得到一个 System.IO.FileNotFoundException

即使有人在另一台机器上打开目录,也有一些方法可以复制文件?

谢谢

以只读方式打开文件,然后将其写入目标,这样访问文件的应用程序就不会被阻止。

using (var from = File.Open("sourcePath", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
    using (var to = File.OpenWrite("destPath"))
    {
        from.CopyTo(to);
    }