首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从一个位置更新的所有文件的visual-studio-2008版本信息

从一个位置更新的所有文件的visual-studio-2008版本信息
EN

Stack Overflow用户
提问于 2010-04-29 22:06:41
回答 2查看 953关注 0票数 1

在windows资源管理器中,当鼠标光标悬停在文件上时显示的版本信息是为visual studio在版本资源中生成的文件设置的。我想在一个地方为解决方案构建的所有文件设置版本,最好是当我在安装属性中更改版本时。有没有办法做到这一点?

这样做的动机是,如果文件的版本没有更新,那么安装程序将保留以前版本的文件,而不是用新文件替换它们。即使设置了'RemovePreviousVersions‘属性,也会发生这种情况。为了省去在构建和安装的每个文件中更新版本的繁琐和容易出错的任务,我从所有文件中删除了版本资源-这并不优雅。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-02 04:55:16

堆栈溢出主题How to programatically change a project's product version?中的第二个答案提供了从C++中的公共头文件设置版本号的解决方案。只需将包含硬编码版本号的头文件放在每个项目都能找到的文件夹中即可。

上面的回答还描述了一种递增版本号的方法。微软的文章How to increment version information after each build in Visual C++提供了C++版本递增的另一种方法。

或者,您可以使用源代码管理存储库的修订号作为版本号的一部分。堆栈溢出文章Creating a file with build number and branch name in SVN为TortoiseSVN用户提供了一些关于这一点的见解。以下两篇文章对此进行了更深入的探讨:

Integrating the Subversion Revision into the Version Automatically with .NET (C# or VB)

Integrating the Subversion Revision into the Version Automatically with Native C/C++

(以上两个网页提供了针对TortoiseHg用户的类似步骤的链接)

从理论上讲,您可以有一个包含新版本号的文本文件,然后运行一个预先构建的脚本,该脚本将:

Ant (version.h)

  • C# (GlobalAssemblyInfo.cs)

  • Java增加文本文件中的版本号(可选择合并存储库修订版本号)

  • 写出或修改以下内容的通用版本文件:
  • C++ Ant(通过属性文件,如version.properties)
    1. etc.

票数 1
EN

Stack Overflow用户

发布于 2010-04-29 22:31:12

要集中管理解决方案的版本,请执行以下操作:

从AssemblyInfo.cs;

  • Create a new

  • ( GlobalAssemblyInfo.cs )中提取版本信息,并将版本信息放入其中(使用*获取VS为每个项目创建一个新的版本号作为链接: Add | Existing GlobalAssemblyInfo.cs,然后在文件选择中选择Add按钮,为解决方案中的每个项目选择Add as build);

  • Reference instead;

  • Repeat;

我在版本中使用了这样的代码块:

#if DEBUG

程序集: AssemblyVersion("1.8.0.0")

#else

程序集: AssemblyVersion("1.8.*")

#endif

这避免了VS在开发过程中重新构建每个程序集,但在我构建版本时会给每个程序集一个新的版本号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2737958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档