5

假设我们是第一次发布 .net 库。我们希望通过 Beta + Release Candidate 阶段从早期采用者那里获得反馈。

因此,在SemVer的上下文中,我们最初会发布 Version 1.0.0-Beta1。之后随着 beta 和候选版本的增加。

为了争论,假设我们当前的版本号是0.3.0

因此,我们需要从 SemVer 推导出要放置在各种 .net 版本占位符中的内容。那些是:

1. Nuget 版本

用于命名 nuget 包,也被 nuget 用于对包进行排序和派生(如果它是预发行版)

2.组装版

请记住,程序集可能是强命名的,并且当程序集版本更改时,绑定重定向可能会使 beta 之间的移动变得复杂

3.汇编文件版本

映射到文件属性对话框中的“文件版本”

4. 汇编信息版

映射到文件属性对话框中的“产品版本”

4

1 回答 1

1

我不认为 SemVer 旨在解决您列出的所有 4 个项目,而是第一个项目。它为最终用户提供了一种了解他们是否使用最新版本以及使用哪种构建类型(稳定版、beta 版、alpha 版等)的方法。它不适用于大多数版本号场景,因为这些场景需要 4 个纯数字段。

因此,对于我自己的 NuGet 包,我按照 SemVer 设置 NuGet 包版本,但在编译二进制文件时坚持使用AssemblyInfo 任务。

好吧,这就是我处理版本号的方式,其他人可能有他们的风格。

于 2013-11-11T02:39:14.733 回答