在SemVer中,向公众发布Beta版时,assembly + file版本应该是什么?

Sim*_*mon 5 .net versioning nuget semantic-versioning

可以说我们是第一次发布.net库。我们希望进入Beta + Release Candidate阶段,以获取早期采用者的反馈。

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

为了争辩,我们现在的版本号是 0.3.0

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

1. Nuget版本

用于命名nuget程序包,也被nuget用于对程序包进行排序并得出它是否为预发行版本

2.组装版本

请记住,程序集版本更改时,程序集的名称可能很强,绑定重定向可能会使Beta之间的移动复杂化

3.程序集文件版本

在文件属性对话框中哪个映射到“文件版本”

4.汇编信息版本

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

Lex*_* Li 1

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

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

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