我有一个包含 30 多个项目的解决方案......是否有一种快速简便的方法来管理所有项目的构建修订,而不是编辑每个项目的 AssemblyInfo 或属性?
3 回答
过去,我按照本文中的建议在解决方案级别创建了一个SharedAssemblyInfo.cs文件,并从我的每个项目中链接到它。
要点是您希望将SharedAssemblyInfo.cs文件作为链接添加到您的项目中。在 Visual Studio 中,您将选择“添加现有项”,但在对话框中,单击“添加”按钮上的箭头并选择“添加为链接”。
在SharedAssemblyInfo.cs中,放置您希望在所有项目中相同的任何程序集属性。文章建议如下:
AssemblyCompany
AssemblyProduct
AssemblyCopyright
AssemblyTrademark
AssemblyConfiguration
AssemblyDescription
CLSCompliant
ComVisible
AssemblyVersion
AssemblyInformationalVersion
每个项目仍将拥有自己的AssemblyInfo.cs文件,以补充它从共享文件接收到的属性:
AssemblyTitle
AssemblyCulture
Guid
我建议使用 AssemblyInfo 任务,
http://archive.msdn.microsoft.com/AssemblyInfoTaskvers
[更新:它是 Microsoft MSBuild 团队的 MSBuild 目标。不需要 Visual Studio 插件,因此即使您直接使用 MSBuild,它也能正常工作。]
您可以使用其目标来修改中央 AssemblyInfo.cs 文件,然后将其链接到所有项目。我的开源项目#SNMP 展示了它是如何使用的,
通常这应该只是一个评论,但我想给出这个答案
VS的这个插件是一个真正的救星 版本控制构建
我非常喜欢这个插件,我在 VS 2003 版本中使用它。
请注意并阅读所有文章,安装其他插件时会出现一些问题
虽然公认的答案非常好,但我仍然更喜欢为每个项目提供一个单独的 assemblyinfo.cs,其中包含FileVersion和AssemblyVersion属性,因为通过这种方式,我可以在有错误修复时单独增加这些值或分发的修订