停止支持一个 NuGet 包。

4
如何优雅地停止nuget.org存储库中NuGet包的支持?实际上,我将软件包移动到另一个NuGet通道(例如,将https://www.nuget.org/packages/my_old_package/移动到https://www.nuget.org/packages/my_new_package/),并希望通知现有订阅者他们应切换。

目前,我考虑以下解决方案:

  1. 发布具有类似“此软件包不再受支持。请转换到其他软件包…”的说明的最后构建版本。
  2. 仅删除软件包-不确定这会对客户产生什么影响。

您可以推荐什么方法吗?

1个回答

3
您可以将旧的NuGet包取消发布,这样在搜索包时就无法找到它。取消发布是指通过使用NuGet.exe命令行或从nuget.org上的库中删除软件包时发生的情况。
取消发布NuGet包后,现有用户仍然可以使用该包。还原软件包仍然有效,因为NuGet包仍然存在。
通知现有用户不支持NuGet包不是NuGet的功能。如果您需要这个功能,则必须自己实现。例如,您可以向最新的NuGet包添加readme.txt,告知用户此包已被弃用,并且他们应该使用其他NuGet包。当安装了软件包时,Visual Studio会自动打开readme.txt。唯一的问题是这种方法与取消发布NuGet包不兼容。具有readme.txt的NuGet包仍需要在nuget.org上列出。
另一种方法(可能也可能不可能)是让旧的NuGet包只是安装其他NuGet包。因此,旧的NuGet包本身没有内容,而是依赖于其他NuGet包。
在这些方法中,我认为我会取消发布所有旧的NuGet包版本。您还可以通过直接在网站上编辑元数据来更新nuget.org上的软件包描述,以指示旧的NuGet包已被弃用。

感谢您提供全面的答案! - Vitaliy Shibaev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接