2013-07-09 76 views
2

我們目前有2個解決方案,分享幾個項目之間,以及有一些項目所特有的每個人。我們目前爲這些設置爲門控簽入的解決方案提供了構建定義。多個TFS如何管理門控簽入生成定義

遺憾的是,似乎有與集控簽入多個定義意味着,如果我做出改變,以共享的項目之一,它只能運行一個定義。在一個完美的世界裏,我希望它在這種情況下建立兩個解決方案。

我知道我可以創建一個構建這兩種解決方案的構建定義,並且這對於有問題的場景來說效果很好,但是如果我正在修改某個解決方案獨有的項目,它仍然會構建這兩個解決方案,呃。

有沒有來配置我們建立這樣,我們得到兩全其美的方法嗎?我希望確保共享代碼在兩種解決方案上的正確工作的一致性,但是我也希望構建不會花費雙倍的時間進行隻影響一種解決方案或另一種解決方案(迄今爲止我們最常見的用例)的更改。

還是我堅持一方或另一方的權衡?

回答

0

與現狀的基本問題是「如何識別變」?無論是通用項目還是修改後的獨特項目。我不認爲在構建代碼的時候有任何簡單的方法來識別它。

一種選擇,你是不是最好的解決辦法是在一般項目中分離出成另一種解決方案,它編譯,並把DLL的,其獨特的解決方案使用的公共位置。通過這種方式,您可以擁有3個獨立的門控檢查,如果您對通用解決方案進行了更改,則可以在同一個版本定義中編譯兩個獨特的解決方案。如果不是,您可以在自己的build def中編譯通用和唯一的解決方案。

+0

嗯,我同意這應該工作。這可能是我的出路,因爲編輯通用項目並不是一個非常常見的用例,儘管這些常見項目需要一定的設置和新的構建/部署策略。值得肯定的是,如果沒有其他建議即將出臺。 – Sethcran

+0

當然,如果你找到更好的東西,請告訴我。 – Isaiah4110

+0

我在這個問題爲好,這將是很難將它們分離出來,由於代碼庫有多大。 –