为解决方案创建版本

时间:2011-08-17 12:22:27

标签: .net visual-studio-2010

我有一个代表可发布产品的解决方案,它包含产品特定项目和整个组织共享的其他项目。标记已发布项目的版本号的最佳方法是什么?我目前的想法是:

  • 在服务项目上设置程序集版本(这是包含实际可执行文件的项目,这是一个Windows服务)。但这感觉有点奇怪,因为它基本上只是核心项目逻辑的前端
  • 版本核心项目程序集。再次有点奇怪,因为这可能最终在未来的版本中被打破。这使得查找版本号不一致
  • 在Wix安装程序项目中设置版本号。好,但可以自动化吗?

我非常想在所有这些地方应用相同的版本号,或者有更好的方法吗?

2 个答案:

答案 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中的某些魔术字符串。第一种选择可以更加可维护。