2011-03-10 63 views
0

我們使用tfs/teambuild和msbuild爲我們的軟件建立了自動構建和QA流程,並且我們希望能夠知道(用於審計目的)組件是否已經通過該過程與否。Teambuild/MSBuild和衝壓QA批准版本

例如,如果某個庫安裝在用戶的機器上,我希望能夠以某種方式檢查它是否已通過構建。特別是,我希望能夠將它與直接在開發人員的機器上構建的組件區分開來,然後再手動安裝。

這樣做的最好方法是什麼?作爲構建過程的一部分的代碼簽名似乎最接近這些要求,但可能這不包括可能使用的任何第三方庫?我還讀了ILMerge工具來將所有程序集合併成一個,但是我不知道他們是否可以簽名或不能簽名?

我敢肯定,我們不是第一人有要求,因此鑄造周圍其他人誰可能會做這樣的事情

感謝任何想法或提示!

+0

你需要更多地描述你的場景。從你的描述中不清楚你爲什麼要這樣做。這對於得到一個好的答案很重要。 – 2011-03-15 05:40:45

回答

2

我們的開發人員版本設置爲保持版本爲「0.0.0.0」,但我們的構建服務器根據預先配置的版本和自動生成的構建字符串標記構建。 「1.0.3.xxx」。你的構建服務器不允許這樣做?

0

您的構建過程應該更新您的每個項目的assemblyinfo.cs文件(或全局鏈接的等效項),您可以使用TFS變更集編號進行此操作,因此與上一張海報相同,表示您最終以每個項目的屬性1.0.changeset.buildno的dll或類似的東西。你可以在msbuild中輕鬆做到這一點。 您可以將源代碼管理中設置的每個程序集信息文件的值顯示爲0或999之類的東西。

很多關於過程和培訓的問題都是如此。 如果您使用安裝程序或zip來打包您的交付物,那麼您還可以使用構建號將它們標記爲構建過程的一部分。 但是,如果你有變更集,你有從DLL到代碼的鏈接,所以可追蹤,加上鍊接到每個csproj中定義的第三方DLL引用。