【问题标题】:Deploy demo and retail version of a .NET library via NuGet通过 NuGet 部署 .NET 库的演示版和零售版
【发布时间】:2022-01-21 15:24:30
【问题描述】:

我需要通过 NuGet 部署一个商业 .NET 库(很可能,它将是主要用于 Microsoft Visual Studio 的本地源)。首先,我的潜在客户安装 NuGet 包和库的演示版本以进行评估。如果客户喜欢并购买它,他/她将获得完整功能解锁的图书馆零售版。显然,为客户获取它最自然的方式是更新现有的 NuGet 包。推荐的方法是什么?

根据我对 NuGet 基础架构的了解,我应该使用它们的包版本和后缀。我的第一次尝试是为同一版本的 NuGet 包使用后缀“-demo”和“-retail”——例如,MyLib.1.0.0-demo.nupkg 和 MyLib.1.0.0-retail.nupkg。但是这两个软件包都被归类为预发布版本,这对客户来说看起来并不好。然后我尝试从零售包中删除“-retail”后缀,这看起来更好 - 虽然我不喜欢演示版仍被归类为预发布版。

也许,还有其他名称/版本方案。如果有,请推荐。

【问题讨论】:

  • 在 NuGet.org 上发布演示包,同时设置您自己的私有 NuGet 服务器以推出带有身份验证的零售包。确保您的演示包真正用于演示并且不包含任何零售功能(禁用它们将无济于事,因为人们无论如何都可以启用它们)。

标签: .net visual-studio .net-core nuget nuget-package


【解决方案1】:

查看https://semver.org/ 的规则 - 任何带有连字符的版本都将被视为预发布版本。

您唯一可以使用的其他东西是构建元数据,但它不能用于确定优先级,因此对您的情况没有多大好处。

将演示版本设为预发布似乎很有意义 - 这意味着您可以使用相同的 major.minor.patch 版本发布您的演示版本和主版本,但演示版本是预发布版本,这意味着主版本始终优先于订购,因此很容易从演示升级到相应的主要版本。

【讨论】:

    猜你喜欢
    • 2018-08-21
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2012-11-25
    相关资源
    最近更新 更多