有没有办法修改解决方案中的所有项目
本文关键字:项目 解决方案 修改 有没有 | 更新日期: 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,其中包含 FileVersion 和 AssemblyVersion 属性,因为通过这种方式,当有错误修复或要分发的修订时,我可以分别递增这些值