2012-04-23 18 views
0

我使用TFS2010和門控檢入運行一個相當大的團隊(5個解決方案,約150個項目)。在我們的團隊中,我們要求每個項目都導入一個我們自己稱爲Common.Targets的文件,這個文件做了一堆構建時間的東西。我已經指示團隊中的每個人都這樣做,並且也寫了一個wiki條目。驗證每個項目導入我們的Common.Targets

但是,人們仍然忘記導入common.Targets時添加一個新的項目,造成各種麻煩後辦理登機手續。

有沒有辦法 - 一個msbuild命令行,我可以放在我的.sln等等 - 這樣的項目將無法編譯,因此不會通過門控登記?

回答

0

2個選擇:

  1. 至於建議的KMoraz,創建一個定製的檢查中,解析改變/添加的.csproj作爲XML,並驗證他們進口Common.Targets政策(How To)。合作:需要手動分發給團隊中的所有開發人員,並在有更新時管理更新。

  2. 作者自定義CodeActivity (How To)。它運行msbuild MSBuildEmitSolution = 1,將生成的.sln.metaproj解析爲XML以獲取csproj文件列表,然後如上所述驗證它們。回答:開發人員在他的門控簽入失敗時只能看到錯誤。

我決定用2

+0

有一種方法可以[分發](http://blogs.msdn.com/b/youhana/archive/2011/03/27/distributing-custom-check-in-policies-amp-wit-controls-using-team -members.aspx)使用TFS電動工具的策略。還沒有嘗試過我自己。 – KMoraz 2012-04-25 09:39:21

3

傳統方法是簽入策略。由於您的要求沒有預先定義的政策,因此您可以很容易地編寫自己的自定義政策 - 請參閱How To: Create Custom Check-in Policies

+0

去是的,這簽入策略可以考慮爲.csproj的文件(或其他類型的你關心的項目)的掛起的更改,並進行XML查詢,以檢查有正確的目標導入。 – Nock 2012-04-24 10:21:33

+0

謝謝。這意味着我必須將我的簽入策略DLL部署到團隊中的每個人。不好玩,但我想我必須要。 – Jonathan 2012-04-24 11:48:02