我正在編寫一個應用程序,需要從當前正在執行文件的網絡目錄複製文件。從UNC路徑複製正在執行的文件
我試圖與
using (var source = new FileStream(fileData.FileName,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
打開文件我打開我創造另一個流複製到文件流之後。
但是,這會引發異常,指出該文件正在被另一個進程使用。我不知道如何解決這個問題。如果我只使用文件資源管理器,它會複製文件。所以我知道這是可能的,只是不確定如何。
編輯: 我也嘗試了簡單的File.Copy(source, destination)
,我得到了同樣的異常說明該文件正在被另一個進程使用。
卷影複製服務可能會幫助你:http://www.codeproject.com/Articles/22745/Volume-Shadow-Copies-from-NET – k0stya
什麼操作系統是網絡文件服務器和客戶端運行,你必須支持任何一方的任何其他操作系統版本?我問,作爲[SMB VSS](http://technet.microsoft.com/en-us/library/jj612865.aspx)在Windows 2012上可用,將是一個很好的解決方案。 –
安裝程序是在所有機器上與Windows Server 2008同構的服務設置。 – btlog