问候语,这不是关于版本的问题,而是一般性的讨论关于:为什么自动增加版本号?它是否有实际用途?为什么自动增加版本号?
说,我的代码清洁香港1个月前,设定版本号为1.0.0.0的今天
我重建它,同样的老代码,但版本#是1.0.123.0
对我来说,这是与1个月前相比,旧的程序集相同,但为什么不同版本?
imo,版本号只能在代码改变时自动更改,或者任何会影响代码行为的更改。
PS:要设置TFS,琢磨这个
问候语,这不是关于版本的问题,而是一般性的讨论关于:为什么自动增加版本号?它是否有实际用途?为什么自动增加版本号?
说,我的代码清洁香港1个月前,设定版本号为1.0.0.0的今天
我重建它,同样的老代码,但版本#是1.0.123.0
对我来说,这是与1个月前相比,旧的程序集相同,但为什么不同版本?
imo,版本号只能在代码改变时自动更改,或者任何会影响代码行为的更改。
PS:要设置TFS,琢磨这个
这一切都取决于你的标准递增的版本号。大多数坚持增量在每个构建规则,因为是最简单的实现,但你可以使用不同的规则。 选择一个版本控制标识符(如Changeset数字或Commit Sha)会很好,但除了描述性的地方(如AssemblyFileInformationalVersion),几乎不可能使用它们。
也就是说只有当代码改变时才增加版本号是可行的,但它需要一定的努力,并且很快就会开始变得艰难。例如。
我在一系列岗位(first,second和third)的描述一个MSBuild/TFS技术。您可以看到它的主要缺点:版本号位于构建服务器上;如果您丢失机器,则必须手动恢复数字系列。
在GitVersion可能会发现其他有趣的想法。这里的工具在提交历史的基础上计算版本号。
你怎么知道代码已经改变? - >我们可以依靠源代码控制,每当chk in被提交时,只要假设有涉及的变化。良好的源代码控制应该能够检测到chk与存储库有区别,如果没有更改,应该忽略提交,因此不会增加版本 – Kelmen
在文章中详细描述:只获取更改的文件并利用MSBuild智能重建只需要什么。 –
那么,* something *(或* somebody *)正在设置内部版本号,程序集清单文件是什么样子的?我个人认为应该总是明确指定前导三元组。 – user2864740
你的'AssemblyVersion'属性内容是什么样的? (另请参阅[这个问题/答案](http://stackoverflow.com/q/17720008/21567)。) –
嗨,这不是关于版本的问题,但一般的讨论 – Kelmen