最新的稳定、不稳定和预发布包之间有啥区别

Posted

技术标签:

【中文标题】最新的稳定、不稳定和预发布包之间有啥区别【英文标题】:what's the difference between latest stable, unstable and pre-release packages最新的稳定、不稳定和预发布包之间有什么区别 【发布时间】:2020-10-20 12:40:30 【问题描述】:

我是 nuget 新手,如果我的问题听起来很愚蠢,对不起:

下面是截图:

Q1-“latest stable 2.2.0”和“2.2.0”是同一个吗?似乎它们是不同的,因为我可以选择其中之一,是什么让包“最新稳定”?它始终是最新版本(在这种情况下为 2.2.0)?

Q2-我经常听到人们谈论发布/使用不稳定的包,这与预发布包的想法不一样吗?那个预发布包不是因为它不是官方发布而得名,因此可能不稳定吗?

【问题讨论】:

【参考方案1】:

不同之处在于,预览版对性能、安全性和新功能进行了一些小改动。您可以在更改日志中查看更改列表。

Q1:版本 2.2.0 和 2.2.0 stable 是相同的版本。当添加了新功能并且它们是稳定的(即通过了一些测试)时,一个包被称为稳定的。

Q2:并非如此,预发布包可以稳定且运行良好,只是此版本中的错误修复和新功能尚未完成。

【讨论】:

@Sydnest 对不起,我有一些类型。对于 Q1,我的意思是“最新稳定的 2.2.0”和“2.2.0”,它们是一样的吗? @amjad 是的,版本相同【参考方案2】:

“Latest Stable 2.2.0”和“2.2.0”都是一样的,它只是一个指示符,让您显示什么是最新版本不是 Pre-Release,所以您不会意外包含错误的版本。 MSDN 定义稳定版本如下:

每当您发布具有新版本号的更新包时,NuGet 都会将其视为“最新的稳定版本”[...] 稳定版本是被认为足够可靠以用于生产的版本。

这将稳定版本与预发布版本区分开来。这并不意味着预发布版本本身就不稳定,只是开发团队确定它还没有准备好投入生产。但是,预发布质量可能有很大差异,从无法使用、有缺陷到经过打磨,但需要在交付前通过额外的质量控制或稳定性测试。版本控制后缀可以为您提供有关当前状态的提示。

为支持软件发布生命周期,NuGet 1.6 及更高版本允许分发预发布包,其中版本号包含语义版本控制后缀,例如 -alpha、-beta 或 -rc。

这个列表并不详尽,还有“pre”或“preview”在野外。如果您选中“包括预发行版”复选框并且有预发行版可供选择,那么最新软件包也会有一个附加选项。这个显示在不同的 Visual Studio 版本中有所不同,这是 2017。

【讨论】:

以上是关于最新的稳定、不稳定和预发布包之间有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

如何升级Nginx到最新稳定版

如何升级Nginx到最新稳定版

如何升级Nginx到最新稳定版

安卓系统都有哪些版本分别有啥区别

solr 的最新稳定版本

稳定排序和不稳定排序的区别和代表