2012-06-07 78 views
3

我有一個超過30個項目的解決方案...是否有一個快速簡便的方法來管理所有項目的構建版本,而不是編輯每個項目的AssemblyInfo或屬性?有沒有辦法修改解決方案中的所有項目?

+0

http://www.jetbrains.com/teamcity/ – cadrell0

+0

這是一個真正的救星http://www.codeproject.com/Articles/5851/Versioning-Controlled-Build – Steve

+0

@ cadrell0我確實快速簡單地說!建立CI服務器有什麼好處? –

回答

7

在過去,我跟着this article建議創建a SharedAssemblyInfo.cs解決方案級別的文件a並從我的每個項目鏈接到它。

重點是您要將SharedAssemblyInfo.cs文件作爲鏈接添加到您的項目中。在Visual Studio中,您會選擇「添加現有項目」,但在對話框中,單擊添加按鈕上的箭頭並選擇「添加爲鏈接」。

SharedAssemblyInfo.cs,把所有想要在所有項目中相同的程序集屬性。文章提出如下建議:

  • AssemblyCompany
  • AssemblyProduct
  • AssemblyCopyright
  • AssemblyTrademark
  • ​​
  • AssemblyDescription
  • CLSCompliant
  • ComVisible
  • AssemblyVersion
  • AssemblyInformationalVersion

每個項目將仍然擁有自己的的AssemblyInfo.cs文件,以及以補充其從共享文件接收屬性:

  • AssemblyTitle
  • AssemblyCulture
  • Guid
+0

這是我使用的方法,一旦它設置好,它就可以很好地工作。 –

+0

我將此與[TeamCity的AssemblyInfo修補程序](http://confluence.jetbrains.net/display/TCD7/AssemblyInfo+Patcher)結合使用。 – jrummell

+0

我喜歡這一個 –

1

我推薦使用的AssemblyInfo任務,

http://archive.msdn.microsoft.com/AssemblyInfoTaskvers

[更新:它來自微軟的MSBuild隊一個MSBuild目標。不需要Visual Studio插件,所以即使直接使用MSBuild也能正常工作。]

您可以使用其目標來修改中央AssemblyInfo.cs文件,然後將其鏈接到所有項目。我的開源項目#SNMP展示它是如何使用的,

https://github.com/lextm/sharpsnmplib

+0

有趣 - 我會研究一下Lex –

1

通常這應該只是一個評論,但我想給這個作爲一個答案

此插件的VS是一個真正的救星 Versioning Controlled Build

我很喜歡這個插件,我使用VS 2003版本。
只是要注意,並閱讀所有文章,還有在其他的加載項安裝

一些麻煩而接受的答案是真的好,我還是比較喜歡有,爲每個項目分離AssemblyInfo.cs中,包含文件版本的AssemblyVersion屬性,因爲,這樣一來,我可以單獨增加這些值,當有一個bug修復或修改分配

相關問題