让我们说我们是第一次发布一个.net库。我们希望通过Beta + Release Candidate阶段获得早期采用者的反馈。
因此,在SemVer的上下文中,我们最初会发布版本1.0.0-Beta1
。随着贝塔和候选人的增加而增加。
为了论证,我们当前的版本号是0.3.0
因此,从SemVer我们需要得到在各种.net版本占位符中放置的内容。那些是:
用于命名nuget包,并由nuget用于对包进行排序并派生它是否为预发布
记住程序集可能是强名称的,当程序集版本更改时,绑定重定向可能会使beta之间的移动变得复杂
哪个映射到文件属性对话框中的“文件版本”
哪个映射到文件属性对话框中的“产品版本”
答案 0 :(得分:1)
我认为SemVer不会解决您列出的所有4个项目,而是第一个。它为最终用户提供了一种了解他们是使用最新版本以及使用哪种版本类型(稳定版,测试版,alpha版等)的方法。它不适用于大多数版本号场景,因为这些场景需要4个纯数字段。
因此,对于我自己的NuGet包,我按照SemVer设置NuGet包版本,但在编译二进制文件时坚持AssemblyInfo Task。
嗯,这就是我如何处理版本号,而其他人可能会有自己的风格。