2

看來以下類型的文件需要可寫才能編譯解決方案。 .EXE .dll文件 .PDB(如果調試) .resource(?) 的.xml(至少是系統生成的。我不知道,如果他們只是所有的XML documentationf爾斯)VS2005和VSS。 .exes,.dlls,pdbs,.resource和生成的.xml文件應該放在VSS中嗎?

如果他們被檢查出來的人只能被編譯器覆蓋,然後檢查他們到sourcesafe並需要一個checkout來修改它們,這是編譯器每次運行時都會嘗試的,會干擾其他開發者的能力調試並運行。

最佳做法是什麼?看起來VSS自動添加所有內容。

+0

VSTS是否具有更好的智能,因此當您選擇「將解決方案添加到源代碼管理」時,它只會添加大多數人想要的內容? – ChadD 2010-04-07 23:35:18

回答

2

通常情況下,您不希望檢入生成的任何文件,除非您一次生成這些文件,然後從該文件中「剪切並運行」(即,您不會再生它們)。對於使用單一結賬鎖的VSS等版本控制系統尤其如此。

如果你想版本生成的文件,我建議不要在解決方案/項目位置版本化它們,但有一個單獨的進程,將它們複製到其他地方,並在那裏檢查它們。如果你在sln/proj中版本生成的文件,你會有噩夢與人們爭吵,以檢查他們和回來。

我相信你可以設置VSS不會對結帳做排他鎖,但總的來說,我會遠離檢查生成的文件。您應該嘗試讓系統達到如果您需要返回到生成文件的先前版本時,檢出「源」文件的適當版本/標籤並從此處重新生成其他文件。

1

通常,作爲構建過程的一部分創建的文件不會被檢入版本控制。

但是,如果您需要處理髮現的問題報告/錯誤,您可能希望將所有或部分這些文件(可能位於特定里程碑處,尤其是在您將其釋放到開發組織之外的情況下)在測試中或由最終用戶。

您是否希望在同一軟件倉庫(或者甚至使用相同的版本控制軟件)中進行歸檔,這與您的源工件是不同的決定。通常這種類型的檔案並不是一個真正的版本控制系統,但可能是一個網絡共享,其目錄遵循特定的命名約定,因此這些構件可以與源的特定版本相匹配。如何管理這些項目的生命週期(以及生命週期應該如何)是另一個需要由您的特定組織的需求和政策決定的問題。

0

Visual Studio在選擇要添加到源代碼安全的正確項目方面做得很好。設置新項目時,使用項目上下文菜單或文件菜單中的命令。

一個常見的錯誤是從VSS添加文件夾。