【发布时间】:2013-05-14 00:05:08
【问题描述】:
我正在编写一个应用程序,它需要从当前正在执行文件的网络目录复制文件。
我试过用
打开文件using (var source = new FileStream(fileData.FileName,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
打开文件流后,我创建另一个要复制到的流。
但是,这会引发一个异常,指出该文件正在被另一个进程使用。我不知道如何解决这个问题。如果我只使用文件资源管理器,它将很好地复制文件。所以我知道这是可能的,只是不确定如何。
编辑:
我也尝试了简单的File.Copy(source, destination),我得到了同样的异常,说文件正在被另一个进程使用。
【问题讨论】:
-
网络文件服务器和客户端运行的是什么操作系统,您是否必须支持任何其他操作系统版本?我问SMB VSS 在 Windows 2012 上可用,这对您来说是一个很好的解决方案。
-
该设置是在所有机器上使用 Windows Server 2008 的同构服务设置。