2015-05-27 12 views
4

Как изящно прекратить поддержку пакета NuGet в репозитории nuget.org? Фактически я переместил пакет на другой канал NuGet (например, переместил https://www.nuget.org/packages/my_old_package/ в https://www.nuget.org/packages/my_new_package/). И хотите уведомить существующих подписчиков, что они должны переключаться.Остановить поддержку пакета NuGet

В настоящее время, я считаю следующие решения:

  1. Опубликовать последнюю сборку с описанием, как
  2. Просто удалите пакет - не уверен, что «этот пакет больше не поддерживается Переключитесь на другой пакет ....» как это повлияет на клиентов.

Какой подход вы можете порекомендовать?

ответ

3

Вы можете unlist the old NuGet package, чтобы его не нашли при поиске пакетов. Запрет - это то, что происходит, когда вы удаляете пакет либо из командной строки с помощью NuGet.exe, либо из галереи на nuget.org.

С отсутствующим пакетом NuGet существующие пользователи все еще могут использовать этот пакет. Восстановление пакета будет продолжаться, так как пакет NuGet все еще существует.

Уведомление существующих пользователей о том, что пакет NuGet не поддерживается, не является функцией NuGet. Если вам это нужно, вам придется реализовать себя. Например, вы можете добавить readme.txt к последнему пакету NuGet, который информирует пользователя о том, что этот пакет теперь устарел, и они должны использовать другой пакет NuGet. Файл readme.txt автоматически откроется Visual Studio при установке пакета. Единственная проблема заключается в том, что этот подход несовместим с отказом от пакета NuGet. Пакет NuGet с файлом readme.txt все равно должен быть указан на nuget.org.

Другой подход, который может быть или не быть возможностью, заключается в том, чтобы ваш старый пакет NuGet просто установил другой пакет NuGet. Таким образом, старый пакет NuGet не имеет собственного контента, но имеет только зависимость от другого пакета NuGet.

Из этих подходов я думаю, что просто перечислил все версии старого пакета NuGet. Вы также можете обновить описание пакета на nuget.org, отредактировав метаданные непосредственно на сайте, чтобы указать, что старый пакет NuGet устарел.

+0

Благодарим за всесторонний ответ! –