我在應用程序中使用SharpSvn庫。作爲我的自動化集成測試的一部分,我創建了測試存儲庫,檢出工作副本,執行一些測試,然後刪除存儲庫和工作副本文件夾。無法以編程方式刪除SVN工作副本
但是,一個簡單的Directory.Delete(workingCopyPath, true);
始終得到消息「訪問路徑‘項’被拒絕。」的UnauthorizedAccessException
。我可以重現錯誤與此代碼:
using (var svnClient = new SvnClient())
{
svnClient.CheckOut(
new SvnUriTarget(new Uri(repositoryPath)), workingCopyPath);
}
Directory.Delete(workingCopyPath, true);
此錯誤仍然存在,如果我
- 嘗試通過集成的以前運行刪除創建 工作副本 測試
Thread.Sleep
前幾秒 試圖刪除
如果我使用資源管理器手動刪除臨時工作副本,我不會收到任何錯誤。
這裏怎麼回事?以編程方式刪除Subversion工作副本的正確方法是什麼?
可能是你的集成自動化測試過程中的一個已經其當前目錄設置爲一個目錄的工作副本中,或仍在使用拷貝一個文件。 – 2009-12-30 20:16:47
不,這就是爲什麼我提到我也不能刪除由* previous * run創建的工作副本。上一次運行的進程不再運行,所以我會說它不能保持任何資源鎖定。 – 2009-12-30 20:19:32