2010-07-16 32 views
0

環境:VS 2010,Windows 7中,TFSTFS和本地文件夾的權限問題

我有所謂的二進制文件的解決方案的Filder一個解決方法1(這是本地 計算機上的物理路徑,說這是C:\二進制文件):我把所有外部assesmblies放在這個文件夾中。

在另一個溶液2,在該解決方案的每個類庫項目,設置性財產>建設 - >輸出路徑爲C:\二進制文件,使這些組件的最新版本,可以通過在解決方法1

任何項目中引用

它工作正常。

現在我把solution1和solution2放到TFS中,它們都在TFS源代碼控制下,包括Binaries文件夾。

現在我再次打開解決方案2和構建溶液2,它給我的權限錯誤每個類庫項目,如:

錯誤49無法複製文件「OBJ \調試\ mycomponent.dll」爲」 .. .. \二進制\ mycomponent.dll」。訪問路徑'.... \ Binaries \ mycomponent.dll'被拒絕。

但是,如果我檢查Windows 7上的權限在c:\ Binaries,沒有問題。 因此,VS 2010或TFS應該是錯誤的。

如何解決這個問題?

回答

1

儘管我不是源代碼控制中的二進制文件的主要倡導者,但有一個解決方法。

  • 當你得到源代碼時,你需要專門檢查二進制文件(以啓用寫入訪問)。

然而!如果你有多個開發人員工作,這將(​​默認情況下)對二進制文件進行獨佔鎖定。他們將無法檢出文件進行編輯。

這個解決方案是在Visual Studio 2010轉到

Team->Team Project Collection Settings->Source Control File Types,找到「可執行文件」列表中。將文件合併更改爲Enabled,您將可以在該文件上共享鎖定。

另一種選擇是要麼不「搞定」你的二進制文件夾,或者,如果你得到它,「unget」它使用

tf get "$/blah/project/Binaries" /server:servername /version:C1 /overwrite /force 

你需要提供itempsec和服務器名。這將得到不存在的二進制文件的第一個版本,因此它將在本地刪除它們並將它們標記爲未得到(或檢出)。

+0

我來這裏尋找一種方法來在TFS中「取消」文件,並獲得變更集1的技巧非常好,謝謝! – Oskar 2011-12-16 17:02:03