我在Visual Studio中有一个相当大的解决方案.有没有办法一次性更新解决方案中所有程序集的主要/次要版本号?
您可以在解决方案中的所有项目之间共享AssemblyInfo.cs文件.此共享文件应包含版本号.要共享它,必须使用VS中的"添加现有文件",然后在文件对话框中选择"添加为链接".每个项目都有私有和共享的AssemblyInfo.cs.私有属性仍包含非Version属性.
我有一个TeamCity设置,我在每个TeamCity构建中使用实际构建版本生成共享文件,它工作得很漂亮.
我们有一个具有版本号的AssemblyInfoCommon.cs,并通过引用包含在每个项目中.其他AssemblyInfo.cs文件仍然存在,但仅包含特定于程序集的信息(标题和说明).所以我们每个C#项目只有一个文件要更新.
您还可以在其中一个类中使用公共const字符串,它表示内部版本号,并在所有AssemblyInfo.c中用于不同的项目.当然,这必须在所有其他项目引用的项目中,以便工作.
如果您不喜欢在所有项目中引用相同的AssemblyInfo.cs,那么这是一个不错的选择.
编辑:注意!当您使用多种语言(在我的情况下为F#和C#)时,这也适用.