Visual Studio: восстанавливаются ли пакеты nuget, когда я перестраиваю решение? - PullRequest
0 голосов
/ 20 апреля 2020

Я знаю, что могу восстановить свои пакеты nuget через диспетчер пакетов Nuget, и что пакеты nuget восстанавливаются, если они отсутствуют во время сборки.

Однако мне было интересно, если у меня нет пропущенных пакетов nuget, есть ли что-то другое, что происходит, когда я собираю или перестраиваю решение с точки зрения того, что происходит с пакетами nuget?

Ответы [ 3 ]

1 голос
/ 20 апреля 2020

Вы также отключили источник NuGet для исходного сервера? NuGet или Visual Studio каким-то образом осведомлены о том, откуда исходил пакет, и, скорее всего, не потребуют, чтобы все пакеты исходили из вашего локального источника NuGet. Он может извлекать данные из нескольких источников во время восстановления.

Если вы отключили исходный серверный источник, я не уверен, что NuGet все еще пытается восстановить данные с этого сервера на основе кэшированной информации.

Также Если новые версии пакета не найдены, вероятно, это будет похоже на то, что восстановление для этих пакетов никогда не происходило.

1 голос
/ 20 апреля 2020

Если у вас есть проект с большим количеством кода взаимодействия C ++ / C# / и C ++ / CLI, у вас также могут быть проекты, которые будут напрямую вызывать командную строку nuget для восстановления пакетов в папки, которые не имеют версии номер в них. Это сделано для того, чтобы проекты взаимодействия могли получить доступ к содержимому пакетов nuget для ссылок. Пользовательский интерфейс Nuget во многих случаях не позволяет проектам взаимодействия напрямую включать пакеты nuget.

1 голос
/ 20 апреля 2020

При выполнении следующего эксперимента создается впечатление, что пакеты nuget не восстанавливаются при перестроении, если они отсутствуют:

  1. Восстановление пакетов с удаленного сервера nuget
  2. Сборка решение
  3. Установите для сервера Nuget локальный каталог, в котором есть локально созданный пакет Nuget
  4. Добавьте в решение новый локальный пакет Nuget
  5. Перестройте решение
  6. Новый локальный пакет nuget находится в решении
  7. Успешно запустить решение

Не думаю, что остальные пакеты nuget были восстановлены, потому что в моей локальной папке их нет. нюансы, пришедшие с сервера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...