如何弃用 nuget 包
How to deprecate a nuget package
我的一个开源项目有 2 个 nuget 包:
- 富有表现力(.NET 完整)
- Expressive.Standard(.NET 标准)
2 最初是作为一项调查创建的,以确保它是可行的。现在我想把它总结在 1 下,但我可以看到有人下载了 2。虽然下载数量不是很大,但我仍然知道想通过简单地删除那个包来引起任何问题。
将人们从 2 迁移到 1 下的打包版本的最佳方法是什么?会不会是发布2的新版本表示正在被1取代?
最终我想弃用 2 并指出它正在被 1 取代,但是我只能找到 this 实际上并没有显示它正在实施。
如果您没有 nuget 服务器,您唯一的选择是将 'deprecated' 添加到描述中:
https://www.nuget.org/packages?q=deprecated
如果你有私有的nuget服务器,你也可以启用下架:
Set enableDelisting to true to enable delist instead of delete as a
result of a "nuget delete" command.
- delete: package is deleted from the repository's local filesystem.
- delist:
- "nuget delete": the "hidden" file attribute of the corresponding nupkg on the repository local filesystem is turned on instead of
deleting the file.
- "nuget list" skips delisted packages, i.e. those that have the hidden attribute set on their nupkg.
- "nuget install packageid -version version" command will succeed for both listed and delisted packages.
e.g. delisted packages can still be downloaded by clients that explicitly specify their version.
来源:https://github.com/NuGet/NuGet.Server/blob/master/src/NuGet.Server/Web.config
Nuget 最近 announced 支持弃用 Nuget 包。您现在可以弃用 Nuget 包。
弃用软件包的步骤
- 转到Manage Packages page。
- Select 您的包裹并单击编辑图标。
- 您会发现类似下面的弃用部分。
- Select 您要弃用的版本。您可以 select 所有版本。
- Select一个原因。
- 如果此软件包已被弃用以支持另一个软件包,请提供备用软件包信息。
- 保存包。
Visual Studio 从 16.3(Visual Studio 2019)开始将显示已弃用软件包的警告以及警告消息和备用软件包信息。
注意:弃用软件包不会取消列出该软件包。如果需要,您必须单独取消列出包裹。也可以通过 Nuget 网站完成。
Kolappan N 提供了有关如何弃用 nuget 包版本的出色说明。然而,正如他自己提到的那样,它不会取消列出软件包版本。
要取消列出特定的 nuget 包,请按照以下步骤操作:
取消列出包
取消列出软件包版本的目的是隐藏软件包版本以防止搜索和 nuget.org 软件包详细信息页面。此外,它允许该软件包的现有用户继续下载它,但由于该软件包在搜索中不可见,因此减少了新用户的采用。
要取消列出特定的软件包版本,请按照以下步骤操作:
取消列出特定的软件包版本
- 点击右上角的
Account name
。
- 点击
Manage packages
- 点击
Published packages
- 单击要取消列出的版本的软件包名称
您现在将看到该软件包的所有版本。
- 在
Status
列下,单击要取消列出的软件包版本上的 Listed
link。
- 您现在将转到该特定 nuget 包版本的 "Manage" 页面。 "Manage" 页面将显示以下部分:"Owners"、"Deprecation"、"Listing" 和 "Documentation"。
- 单击 "Listing" 旁边的加号并取消选中“在搜索结果中列出”复选框。
- 点击“保存”按钮。
验证
具体的包版本现在已经不公开了。为了验证这一点,请打开浏览器的隐身实例并移动到包的 url(没有版本部分),例如:https://www.nuget.org/packages/YOUR-PACKAGE-NAME/。您将看到该软件包的所有版本 * * 未 * * 未列出。但是,如果您在登录时看到相同的页面,您将看到所有包及其状态;上市或非上市。
也可以弃用软件包版本(以防您无法删除软件包版本)。有关弃用软件包版本的更多信息,请参见以下页面:https://docs.microsoft.com/en-us/nuget/nuget-org/deprecate-packages
我的一个开源项目有 2 个 nuget 包:
- 富有表现力(.NET 完整)
- Expressive.Standard(.NET 标准)
2 最初是作为一项调查创建的,以确保它是可行的。现在我想把它总结在 1 下,但我可以看到有人下载了 2。虽然下载数量不是很大,但我仍然知道想通过简单地删除那个包来引起任何问题。
将人们从 2 迁移到 1 下的打包版本的最佳方法是什么?会不会是发布2的新版本表示正在被1取代?
最终我想弃用 2 并指出它正在被 1 取代,但是我只能找到 this 实际上并没有显示它正在实施。
如果您没有 nuget 服务器,您唯一的选择是将 'deprecated' 添加到描述中:
https://www.nuget.org/packages?q=deprecated
如果你有私有的nuget服务器,你也可以启用下架:
Set enableDelisting to true to enable delist instead of delete as a result of a "nuget delete" command.
- delete: package is deleted from the repository's local filesystem.
- delist:
- "nuget delete": the "hidden" file attribute of the corresponding nupkg on the repository local filesystem is turned on instead of deleting the file.
- "nuget list" skips delisted packages, i.e. those that have the hidden attribute set on their nupkg.
- "nuget install packageid -version version" command will succeed for both listed and delisted packages.
e.g. delisted packages can still be downloaded by clients that explicitly specify their version.
来源:https://github.com/NuGet/NuGet.Server/blob/master/src/NuGet.Server/Web.config
Nuget 最近 announced 支持弃用 Nuget 包。您现在可以弃用 Nuget 包。
弃用软件包的步骤
- 转到Manage Packages page。
- Select 您的包裹并单击编辑图标。
- 您会发现类似下面的弃用部分。
- Select 您要弃用的版本。您可以 select 所有版本。
- Select一个原因。
- 如果此软件包已被弃用以支持另一个软件包,请提供备用软件包信息。
- 保存包。
Visual Studio 从 16.3(Visual Studio 2019)开始将显示已弃用软件包的警告以及警告消息和备用软件包信息。
注意:弃用软件包不会取消列出该软件包。如果需要,您必须单独取消列出包裹。也可以通过 Nuget 网站完成。
Kolappan N 提供了有关如何弃用 nuget 包版本的出色说明。然而,正如他自己提到的那样,它不会取消列出软件包版本。 要取消列出特定的 nuget 包,请按照以下步骤操作:
取消列出包
取消列出软件包版本的目的是隐藏软件包版本以防止搜索和 nuget.org 软件包详细信息页面。此外,它允许该软件包的现有用户继续下载它,但由于该软件包在搜索中不可见,因此减少了新用户的采用。
要取消列出特定的软件包版本,请按照以下步骤操作:
取消列出特定的软件包版本
- 点击右上角的
Account name
。 - 点击
Manage packages
- 点击
Published packages
- 单击要取消列出的版本的软件包名称
您现在将看到该软件包的所有版本。
- 在
Status
列下,单击要取消列出的软件包版本上的Listed
link。 - 您现在将转到该特定 nuget 包版本的 "Manage" 页面。 "Manage" 页面将显示以下部分:"Owners"、"Deprecation"、"Listing" 和 "Documentation"。
- 单击 "Listing" 旁边的加号并取消选中“在搜索结果中列出”复选框。
- 点击“保存”按钮。
验证
具体的包版本现在已经不公开了。为了验证这一点,请打开浏览器的隐身实例并移动到包的 url(没有版本部分),例如:https://www.nuget.org/packages/YOUR-PACKAGE-NAME/。您将看到该软件包的所有版本 * * 未 * * 未列出。但是,如果您在登录时看到相同的页面,您将看到所有包及其状态;上市或非上市。
也可以弃用软件包版本(以防您无法删除软件包版本)。有关弃用软件包版本的更多信息,请参见以下页面:https://docs.microsoft.com/en-us/nuget/nuget-org/deprecate-packages