我有一个代表可发布产品的解决方案,它包含产品特定项目和整个组织共享的其他项目。标记已发布项目的版本号的最佳方法是什么?我目前的想法是:
我非常想在所有这些地方应用相同的版本号,或者有更好的方法吗?
答案 0 :(得分:3)
我们的想法是创建共享GlobalAssemblyInfo.cs
文件并将其作为外部链接包含在每个应该进行版本控制的项目中,这样您就可以在一个地方更改版本,所有项目都会在{{1 }}
Complie
更新csproj文件一次以包含共享程序集信息:
GlobalAssemblyInfo.cs:
[assembly: AssemblyVersion("0.0.0.1")]
[assembly: AssemblyFileVersion("0.0.0.1")]
答案 1 :(得分:0)
处理此问题的常用方法是使用AssemblyInfo.cs中的与版本相关的属性创建一个文件,并将其放入根解决方案文件夹中。然后,您可以使用共享链接在每个项目中引用它。
网上有很多例子,但这里有一个可能有用的例子:http://blogs.msdn.com/b/jjameson/archive/2009/04/03/shared-assembly-info-in-visual-studio-projects.aspx。
我没有使用过WiX很长一段时间,但是你应该能够在通过WiX实用程序运行它之前将版本号注入XML中以生成你的软件包。如果我没记错的话,WiX支持您可以在命令行传递的变量。否则,您可以自动替换嵌入到源XML中的某些魔术字符串。第一种选择可以更加可维护。