7

我們有一個大VS解決方案使用項目引用這是TFS構建構建像這樣:TFSBuild /的MSBuild和項目參考VS文件參考

Solution 
- Project 1 
- Project 2 
- Project ... 
- Project N 

由於該解決方案是太大,我們有幾個更小的解決方案,這是我們用日常:

SubSolution 
- Project 1 
- Project 19 

的問題是,開發商對下解工作發現,它不因建設項目引用找不到,所以他們改變了項目中使用文件引用。

然後繼續打破TFS構建,因爲它們尚未構建(即使項目在相同的解決方案中),因此無法找到這些文件引用。有沒有辦法解決這兩種引用之間的拔河問題?分解解決方案的正確方法是什麼?

+0

也許你可以嘗試添加依賴項(DependsOn)的子項目正在構建的主要項目? – mfloryan 2010-03-09 09:19:25

回答

2

什麼是拆分您的解決方案的正確方法?

由模式退房從TFS指南本章&實踐團隊:

Chapter 3 - Structuring Projects and Solutions in Source Control

要特別注意這個照會「分區方案」的情況(我相信你」重新嘗試實現):

與以前版本的Visual Studio不同,Visual Studio 2005依賴於MSBuild。現在可以創建不包含所有引用項目並且仍然沒有錯誤地構建的解決方案結構。只要首先構建主解決方案,從每個項目生成二進制輸出,MSBuild就能夠在解決方案的範圍之外跟蹤項目引用併成功構建。這隻適用於使用項目引用而非文件引用的情況。您可以成功構建從Visual Studio構建命令行和IDE中以此方式創建的解決方案,但默認情況下不能與Team Build構建。爲了使用Team Build成功構建,請使用包含所有項目和依賴關係的主解決方案。

2

不管你如何組織你的身材,開發商應該明白引用如何工作吧,要知道,當他們更改引用,他們不應該檢查這些變化,除非他們打算做出改變構建過程

關於組織你的構建的問題 - 正如Dmytrol所說,項目引用應該在解決方案之間起作用(只要目標已經構建,無論如何也是這種情況)。

我的建議是將您的項目分組爲小型可行解決方案,並在這些解決方案中使用項目參考。您的主要解決方案文件/構建也可以使用項目引用,但是如果您發現較小的解決方案之間的項目引用難以維護,則可以使用文件引用,並通過項目依賴項或項目構建順序控制構建順序(可在Visual Studio通過右鍵單擊解決方案中的項目)。