Вернитесь к packages.config - уточнение ответа

В соответствии с правилами, я должен задать новый вопрос, чтобы получить некоторые разъяснения по другому вопросу / ответу.

Этот ответ таков: /questions/20350515/vernites-k-paketamconfig/20350535#20350535

Тогда что? Только что принял принятый ответ, но файл packages.config не заполняется пакетами (я знаю, что это не так).

Мне не хватает того, что делать дальше, если пакеты появляются автоматически в файле packages.config или мне нужно установить их снова...

Я склоняюсь к последнему, но чувствую, что ответ не полный:)

Но что делать?

2 ответа

Решение

Во-первых, не возражаете ли вы отредактировать свой вопрос или опубликовать его в виде комментария, почему вы хотите вернуться обратно к пакетам.config? Как член команды NuGet, полезно знать причины, по которым PackageReference у вас не работает. Если это не одна из причин, перечисленных в качестве ограничений PackagesConfig, включая раздел совместимости пакетов, возможно, мы поможем решить эту проблему, чтобы вы могли продолжать использовать PackageReference.

Если вы действительно хотите вернуться к packages.config, я предлагаю следующее, а не ответ, который вы связали.

  1. Перейдите в Настройки, NuGet PackageManager-> Общие и включите Allow format selection on first package install
  2. Удалите все пакеты в вашем проекте, используя "Управление пакетами NuGet" (интерфейс диспетчера пакетов). Для удаления можно использовать консоль диспетчера пакетов, но для следующего шага необходимо использовать интерфейс диспетчера пакетов. Следите за тем, какие пакеты вы удаляете, чтобы на следующем шаге вы знали, какие из них установить снова.
  3. Как только в вашем проекте нет ссылок на пакеты, снова установите нужные вам пакеты. Первый пакет, который вы установите, откроет диалоговое окно, в котором вы решите использовать package.config или PackageReference. Если вы не отслеживали, какие пакеты вы удалили на предыдущем шаге, используйте систему управления исходным кодом, чтобы проверить файл проекта, или посмотрите на неизмененную копию и найдите все экземпляры PackageReference,

Необходимо удалить все пакеты в проекте, установив новый, потому что, если в файле проекта существует какая-либо PackageReference, NuGet добавит новые пакеты как PackageReference. Поэтому вы не можете удалить первый пакет, переустановить его, а затем переместить второй пакет в проект.

Мне не хватает того, что делать дальше, если пакеты появляются автоматически в файле packages.config или мне нужно установить их снова...

Да, вы должны установить эти пакеты снова. Это потому, что автоматическая миграция проектов из PackageReference -> packages.config это не то, что будет поддерживаться.

Проверьте тему:

https://github.com/NuGet/Home/issues/4973

Для этого вы можете выполнить следующие шаги:

Сначала измените Управление пакетами на Packages.config, Tools->Options->NuGet Package Manager->Package Management:

введите описание изображения здесь

Во-вторых, выгрузите проект и отредактируйте его, удалите все PackageReference элементы из файла проекта (убедитесь, что это не установлено в файле проекта.).

В-третьих, перезагрузите проект, затем переустановите эти пакеты.

Надеюсь это поможет.

Другие вопросы по тегам