Nuget 包 versioning/update 攻略

Nuget packages versioning/update strategy

也许有人对以下场景有好主意:

我有 预发布开发包,例如:packagename.1.2.0.1000-dev.nupkg 和 发布包,例如 packagename.1.2.0.1.nupkg

我的想法是:如果开发人员在 nuget 更新步骤启用预发布选项,则从更高的开发包数量范围开始将始终允许为开发人员获取开发包。这很好用。 然后稍后我想将项目更新到最新版本。但是似乎没有选项可以更新到版本号低于 dev/pre-release 包的最新版本?此外,-Safe 选项在这里似乎不起作用。

我也无法使内部版本号保持同步,因为这些是不同的内部版本。如果我反过来,那么发布版本的内部版本号更高,如果我进行正常的 nuget 更新,它永远不会更新到最新的开发包,甚至包括预发布包...

有什么想法吗?

非常感谢!

任何 public 可用的软件包在 technical/English 条款中是 "release package"。但是软件行业已经将这种语言混为一谈。那么让我们谈谈稳定版(没有预发布标签)和不稳定版本(预发布标签)。

发布者历史应该是这样的:

1.0.0 // First **stable release**
1.0.1-alpha // First **unstable release** Candidate bug fix.
1.0.1-beta  // 1.0.1-alpha with a tweak to the code.
1.0.1 // Second **stable release**

如果发布者遵循该模式,那么最终用户客户端可以安全地提取 稳定版本 错误修复,而开发人员也可以自行决定提取不稳定的预发布。

你也可以这样:

1.0.0 // First **stable release**
1.0.1-a.dev.1 // Next CI build after 1.0.0
1.0.1-a.dev.2 // Etc...
1.0.1-alpha // Relabeled 1.0.1-a.dev.2.
1.0.1-beta  // Relabeled 1.0.1-alpha, wider audience than -alpha.
1.0.1 // Second **stable release**

为内部 dev/test、public 预发布版和 public 稳定版提供单独的提要是一种很好的做法。