编译时自动增加exe版本,Visual Studio
Posted
技术标签:
【中文标题】编译时自动增加exe版本,Visual Studio【英文标题】:Auto increase exe version when compile , Visual Studio 【发布时间】:2019-03-11 23:46:59 【问题描述】:我用 VS2017 用 c# 开发。
有没有办法tgat每次编译我的项目,我的exe版本都会增加?
【问题讨论】:
理论上,如果您在程序集版本号中使用星号,VS 应该在构建时增加它们。在实践中,自 VS6 以来我从来没有让这个工作(它工作得很好),所以我的感觉是不,你不能这样做(没有一些聪明的后期构建过程) 【参考方案1】:here 和 here 已经提出/回答了这个问题;这两个答案都指的是 Visual Studio 内置的功能。但是,它有一个缺点,即生成的版本是基于构建时间的,这是不确定的。换句话说,每次构建时,相同版本的源代码都会产生不同的版本。
如果您想要一个更具确定性的版本并且您正在使用 Git 进行源代码控制,那么有一些 NuGet 包可以根据您的提交历史记录生成版本信息。也就是说,每次提交时它都会增加;但是基于给定提交的构建应该总是产生相同的版本。我使用的是Nerdbank.GitVersioning。它非常易于使用 - 只需安装 NuGet 包,删除现有的 AssemblyFileVersion 和 AssemblyVersion 属性,您就可以开始使用了(除非您以某种方式自定义了构建;但您会最清楚)。
【讨论】:
如果 SVN 有类似的东西? @Voiilp2 我不知道是否有像 Git 这样的即插即用包,但看起来应该是可能的。我发现了一个帖子here 和here。这可能需要你做一些额外的工作,但应该是可行的。以上是关于编译时自动增加exe版本,Visual Studio的主要内容,如果未能解决你的问题,请参考以下文章
如何拥有自动递增的版本号(Visual Studio)? [复制]
为 cl.exe (Visual Studio Code) 指定命令行 C++ 版本
如何只用visual c++编译器而不安装visual studio
visual-studio-code 中的自动右括号不适用于 js 和 jsx 文件
如何在 Visual Studio 2015 中开始调试时自动附加 Web 项目以处理“MicrosoftEdgeCP.exe”(Microsoft Edge)