2011-07-11 26 views
5

您採取了哪些方法來協調組件版本和版權的更改?如何在許多C#項目的樹中協調程序集版本信息?

我有一個很多csprojs的樹,每個都有自己的AssemblyInfo文件。作爲我的構建過程的一部分,我想設置版權年份和版本。它看起來像下面的選項是可用,但文件的修改是唯一一個迄今爲止我見過的:

  • 通過腳本修改的所有文件
  • 包括與日期(宏,一個單獨的類公共資源靜態變量)上的命令行(-DAssemblyVersion = 「1.0.0.1」
  • 覆蓋的AssemblyVersion?)
  • 參考環境變量([assembly: AssemblyFileVersion("${ENV.VERSION")]

我習慣保持源噸通過命令行參數清除Java/C++中生成的文件,定義並集中所有版本規範到單個文件中。

您使用什麼方法保持版本的同步和可管理性?

感謝

彼得

回答

5

在頂層文件夾中現有的文件>>鏈接文件,我把一個CommonAssemblyInfo.cs包含...常見的東西,比如版權和FileVersion。此文件只包含了一些默認的屬性,並通過構建服務器,哈德森在我的案件上的腳本(一個簡單的.bat文件)再生。在每個項目AssemblyInfo.cs中刪除這些常用屬性。

在解決方案的每個項目中,我都添加了這個文件。但使用「添加爲鏈接」 - 在添加現有文件時,可以在「添加」按鈕的下拉列表中找到。即所有項目只包含對同一個文件的引用,所以只有一個文件需要更新。

0

不管你採取實際更新的版本號哪條路線,你可以使用一個單獨的AssemblyInfo.cs文件指定的共享版本。

在其他項目上面一定程度上創建文件,在結構方面,然後將其添加到所有項目(在Visual Studio中),但是這樣做時一定要選擇「添加爲鏈接」的時候。

我用的MSBuild任務來處理更新,太,我只是想不出它 - 它構建引擎您使用?

+0

我們目前都在使用詹金斯和使用兩種方法:1)msbuildtask更新很多的AssemblyInfo文件。 2)連接到由構建腳本修改的許多項目的CommonAssemblyInfo.cs。 –

0

理論上你可以有一個單獨的程序集文件。就在文件中的所有其它項目鏈接:添加,而不是添加(按鈕下拉)

相關問題