【问题标题】:In SemVer what should the assembly+file versions be when release a beta to the public? [closed]在 SemVer 中,当向公众发布测试版时,程序集+文件版本应该是什么? [关闭]
【发布时间】: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。装配信息版

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

【问题讨论】:

标签: .net nuget versioning semantic-versioning


【解决方案1】:

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

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

嗯,这就是我处理版本号的方式,其他人可能有自己的风格。

【讨论】:

  • 好的,但是如果 SemVer 是 1.0.0-Beta1,那么其他人用什么?
  • 刚刚更新了我的答案。我使用AssemblyInfo Task修改了AssemblyInfo.cs(或.vb或其他),以便在编译时设置Assembly Version、Assembly File Version等。
  • 链接断开 :'-( (AssemblyInfo 任务)
  • 存档链接 web.archive.org/web/20130509173926/http://… - 不知道它做了什么
猜你喜欢
  • 1970-01-01
  • 2018-11-03
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2012-04-02
  • 2020-05-03
相关资源
最近更新 更多