3

我有一个包含 30 多个项目的解决方案......是否有一种快速简便的方法来管理所有项目的构建修订,而不是编辑每个项目的 AssemblyInfo 或属性?

4

3 回答 3

7

过去,我按照本文中的建议在解决方案级别创建了一个SharedAssemblyInfo.cs文件,并从我的每个项目中链接到它。

要点是您希望将SharedAssemblyInfo.cs文件作为链接添加到您的项目中。在 Visual Studio 中,您将选择“添加现有项”,但在对话框中,单击“添加”按钮上的箭头并选择“添加为链接”。

SharedAssemblyInfo.cs中,放置您希望在所有项目中相同的任何程序集属性。文章建议如下:

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

每个项目仍将拥有自己的AssemblyInfo.cs文件,以补充它从共享文件接收到的属性:

  • AssemblyTitle
  • AssemblyCulture
  • Guid
于 2012-06-07T13:32:21.883 回答
1

我建议使用 AssemblyInfo 任务,

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

[更新:它是 Microsoft MSBuild 团队的 MSBuild 目标。不需要 Visual Studio 插件,因此即使您直接使用 MSBuild,它也能正常工作。]

您可以使用其目标来修改中央 AssemblyInfo.cs 文件,然后将其链接到所有项目。我的开源项目#SNMP 展示了它是如何使用的,

https://github.com/lextm/sharpsnmplib

于 2012-06-07T13:23:55.227 回答
1

通常这应该只是一个评论,但我想给出这个答案

VS的这个插件是一个真正的救星 版本控制构建

我非常喜欢这个插件,我在 VS 2003 版本中使用它。
请注意并阅读所有文章,安装其他插件时会出现一些问题

虽然公认的答案非常好,但我仍然更喜欢为每个项目提供一个单独的 assemblyinfo.cs,其中包含FileVersionAssemblyVersion属性,因为通过这种方式,我可以在有错误修复时单独增加这些值或分发的修订

于 2012-06-07T13:26:49.243 回答