【发布时间】:2013-11-22 17:15:51
【问题描述】:
假设我们是第一次发布 .net 库。我们希望通过 Beta + Release Candidate 阶段从早期采用者那里获得反馈。
因此,在SemVer 的上下文中,我们最初将发布版本1.0.0-Beta1。此后随着 Beta 版和候选版本的增加。
为了争论,假设我们当前的版本号是0.3.0
因此,我们需要从 SemVer 推导出要放置在各种 .net 版本占位符中的内容。那些是:
1。 Nuget 版本
用于命名 nuget 包,也被 nuget 用于对包进行排序和派生(如果它是预发布版)
2。汇编版本
记住程序集可能是强命名的,并且当程序集版本更改时,绑定重定向可能会使 beta 之间的移动变得复杂
3。程序集文件版本
映射到文件属性对话框中的“文件版本”
4。装配信息版
在文件属性对话框中映射到“产品版本”
【问题讨论】:
-
我不确定这只是基于意见,因为有 rules around using the assembly & file version 具有特定后果,它们是 hard to follow 并且会从这里的明确答案中受益。
-
以下是我的想法:保持文件版本号与 nuget 版本相同,遵循 semver。程序集版本更改表示重大更改和不兼容,因此仅在您升级主要版本时进行更改。参考techblog.ranjanbanerji.com/post/2008/06/26/… & semver.org
标签: .net nuget versioning semantic-versioning