在自动构建系统中增加版本号的最佳实践?

Best practice for bumping your version number in an automated build system?

我的构建系统 (Team Foundation Server 2015) 执行以下操作:

我对这种方法的问题是构建代理正在修改文件并检查更改。对我来说这感觉很脏。

那么有没有更好的方法,这真的是最佳实践吗?

在我看来,最好将版本信息放在版本控制系统中,而不是放在文件中。我没有使用过 TFS,但在我的工作中我使用 Git 并将版本信息放在 git 标签中。使用 git describe 命令,您可以获得有关最新标签的信息、自上一个标签以来的提交次数以及上次提交的哈希值。它还可以为您提供有关工作副本中未提交更改的信息。 所有这些信息使您能够将二进制文件的一个版本与另一个版本区分开来。 而且您不必在存储库中创建无意义的提交。