当鼠标光标徘徊在Windows Explorer中的文件上时,显示的版本信息设置为版本资源中的Visual Studio构建的文件。我想将版本设置为一个解决方案构建的所有文件,最好是在安装属性中更改版本时。有没有办法做到这一点?

这样做的动机是,如果未更新版本的文件,那么安装程序将留下先前版本的文件,而不是用新文件替换它们。即使设置了“ Remove Previousversions”属性,也会发生这种情况。为了节省繁琐和错误的任务,可以在构建和安装的每个文件中更新版本,我从所有文件中删除版本资源 - 这不是优雅的。

有帮助吗?

解决方案

堆栈溢出主题中的第二个答案 如何在编程上更改项目的产品版本? 具有从C ++中的公共标头文件设置版本号的解决方案。只需将包含硬编码版本编号的标题文件放入每个项目可以找到它的文件夹中即可。

以上答案还描述了一种增加版本号的方法。 Microsoft的文章可获得C ++版本增量的替代方法 在Visual C ++中构建每个构建后,如何增加版本信息.

或者,您可以将源控制存储库修订号作为版本编号的一部分。堆栈溢出文章 在SVN中创建带有构建号和分支名称的文件 为TortoisesVN用户提供一些了解。以下两篇文章更深入地探讨了这一点:

使用.NET(C#或VB)自动将颠覆修订版集成到版本中

将颠覆修订与本机C/C ++自动集成到版本中

(上面的两个网页具有指向Tortoisehg用户类似过程的链接)

从理论上讲,您可以拥有一个持有新版本编号的单个文本文件,然后运行一个前构建脚本,该脚本将:

  1. 将文本文件中的版本编号递增(可选合并存储库修订号)
  2. 写出或修改通用版本文件:
    • C ++(version.h)
    • C#(GlobalAssemblyInfo.cs)
    • java(通过蚂蚁属性文件,例如版本,properties)
    • 等等

其他提示

集中版本控制解决方案:

  1. 从assemblyInfo.cs中取出版本信息;
  2. 创建一个新文件(GlobalAssemblyInfo.cs),然后将您的版本信息放入其中(使用 *获取VS来为每个构建创建一个新版本号);
  3. 参考GlobalAssemblyInfo.cs作为链接:add |现有项目然后删除文件选择中的添加按钮以选择添加为链接;
  4. 在解决方案中重复每个项目;

我使用这样的块进行版本:

#如果调试

汇编:汇编(“ 1.8.0.0”)

#别的

汇编:汇编(“ 1.8。*”)

#万一

这可以防止VS在开发过程中重建每个组件,但是当我构建版本时,每个组件都会为每个组件提供一个新版本号。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top