2010-08-02 72 views
4

我做了大量的Google搜索,但似乎找不到將TeamCity內部版本號存入我的AssemblyInfo文件的確切解決方案。希望能滿足我的要求的完整解決方案...使用Nant將TeamCity內部版本號編入AssemblyInfo文件

1將構建號碼獲取到Nant變量中。我相信這個代碼將完成這個..

PropertyGroup 

     Version$(BUILD_NUMBER)/Version 

/PropertyGroup 

(在SO中儘可能最好地重現)。

2現在我需要一種方法來更新我版本號的修訂版組件,因此我得到了類似於1.0.0 [build number]的內容。

3理想情況下,我需要在可重複使用的Nant目標中的所有內容,以便我可以將其傳遞到要更新的程序集信息文件的路徑中。

我會恭敬地請求,如果你能幫助我一個完整的解決方案在這裏發佈解釋,而不是鏈接到其他網站。我看了很多在線示例,但似乎找不到適合我需要的示例 - 因此我要求瞭解全能SO社區的知識!

在此先感謝。

回答

3

首先,您問題中的代碼片段是MSBuild語法,而不是NAnt。假設NAnt是您的構建工具,有一個很好的解釋如何使用Cruise Control.NET here更新AssemblyInfo文件。這也適用於TeamCity,只需將「CCNetLabel」替換爲「build.number」即可。

要獲得1.0.0版本的版本號[內部版本號],您可以在TeamCity版本配置中完成該版本。在第一個配置頁面(常規設置)上。將「生成數字格式」從「{0}」更改爲「1.0.0。{0}」。請參閱online help瞭解更多選項。

2

我知道你問了一個NAnt可重用任務,但這太酷了。

TeamCity有一個新的feature tailor-made for this purpose (AssemblyInfo Patcher)。 您不必在(NAnt)構建中更改任何內容。只需在構建的「構建步驟」配置中爲AssemblyInfo修補程序添加「其他構建功能」即可。您也可以在那裏設置版本的格式。