有没有办法修改解决方案中的所有项目

本文关键字:项目 解决方案 修改 有没有 | 更新日期: 2023-09-27 18:36:31

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

有没有办法修改解决方案中的所有项目

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

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

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

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

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

  • AssemblyTitle
  • AssemblyCulture
  • Guid

我建议使用AssemblyInfo Task,

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

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

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

https://github.com/lextm/sharpsnmplib

通常这应该只是一个评论,但我想把它作为一个答案

VS的这个插件是真正的救星版本控制受控生成

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

虽然接受的答案真的很好,但我仍然更喜欢为每个项目提供一个单独的 assemblyinfo.cs,其中包含 FileVersionAssemblyVersion 属性,因为通过这种方式,当有错误修复或要分发的修订时,我可以分别递增这些值