2012-06-07 44 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修复或修改分配

相关问题