2010-04-16 151 views
15

我有一個項目,我期待通過perforce版本控制手動管理,因爲我只有Express版本。我在尋找的是版本控制中應該排除哪些文件,因爲鎖定許多文件會導致visual studio編譯和調試出現問題。哪些c#項目文件應該版本控制?

到目前爲止,我已包括在內。
的.cs文件(除了屬性的文件夾)
.resx文件
的.csproj文件

排除
bin文件夾
OBJ文件夾
屬性文件夾
。用戶文件

設我知道是否有更多的東西應該包含在我排除的內容中,或者是否有更好的方法來做他的。

+1

如果你是一名學生,你可以通過DreamSpark獲得VS Professional。 – SLaks 2010-04-16 15:03:09

+0

非常酷的網站,不幸的是,這是工作。 – DTown 2010-04-16 15:09:36

+0

我一直只包含所有的文件,我從未發現任何問題。 – Brandi 2010-04-16 15:09:46

回答

11

您應該包含屬性文件夾;它包含AssemblyInfo.cs(包含所有程序集屬性)和項目的默認資源和設置文件(如果有的話)。

您還應該包含.sln文件(如果有的話)。

12

另外,還要排除:

.suo 
app.config (you should commit something like app-dev.config instead) 

回覆:的app.config:

app.config通常包含特定於機器的信息(如數據庫連接字符串,默認設置,或資源的路徑),而你不知道每次從源代碼管理中檢出時,都不希望發生這種情況。這些文件應該使用部署腳本創建/複製。

當一個項目上有多個開發人員使用他們自己的數據庫服務器時,這是特別煩人的。反過來可能更加危險 - 如果您通過檢查版本控制將代碼部署到生產環境中,則可能會無意中將生產設置爲使用開發數據庫,​​這可能是災難性的。

+0

爲什麼要排除app.config? – SLaks 2010-04-16 15:05:43

+0

@SLaks:查看我的更新 – RedFilter 2010-04-16 15:15:21

+1

在我的工作中,我們檢查「app.config-template」。當你第一次簽出時,你將它複製到「app.config」(從VC中排除)併爲你填寫相關的值。這樣可以避免開發人員必須從頭開始編寫整個app.config,但也意味着他們不會意外檢查包含個人設置的app.config。 – Ken 2010-04-16 15:41:54

6

不要忘記添加任何圖像,圖標等,你可能會在你的應用程序中使用。很容易忘記這些。

此外,如果您有與項目相關的任何文檔 - 規格說明,設計,幫助文件等。將這些文件放在項目下的單獨文件夾中,然後包括它們。

1

如果我正在使用第三方DLL,我使用該項目對版本進行版本控制,並使用並行部署,以便在編譯期間將DLL複製到bin文件夾(與在GAC中註冊該DLL相反) )。這樣做的效果是另一個開發人員可以從源代碼控制中拉下項目,並擁有成功編譯和運行項目所需的依賴關係。不浪費第三方組件的下載和安裝,並且您確信每個人都在針對相同版本的第三方dll進行開發/測試。

相關問題