TL; DR: попробуйте запустить Update-Package -Reinstall
из консоли диспетчера пакетов.
Единственный способ, которым я знаю, чтобы это произошло, - это когда проект, использующий packages.config
для NuGet Ссылки перемещаются в новый каталог с другим относительным путем к решению. packages.config
- это в основном «неинтегрированное» управление пакетами. Любой, кто использует. NET с самого начала, вспомнит, когда не было NuGet, и вам нужно будет добавить ссылки на сборки непосредственно в dll. packages.config
автоматизирует это, но означает, что при изменении пути к папке с пакетами решений ссылки больше не действительны. NuGet не знает об этом и всегда восстанавливает папку с пакетами решений. Итак, вам нужно обновить проект, чтобы он правильно указывал на папку пакетов решений. Вы можете сделать это вручную, отредактировав файл проекта, удалив и переустановив все пакеты один за другим, или используйте PM C 'Update-Package
, чтобы сделать это.
PackageReference hasn' Эта проблема не возникает, поскольку путь к восстановленным пакетам не сохраняется в проекте, поэтому, даже если ваш проект перемещается, в худшем случае все, что вам нужно сделать, это восстановить снова, но часто даже в этом нет необходимости. Итак, я рекомендую вам перейти с packages.config
на PackageReference
, если вы можете, но посмотрите документы, потому что есть проблемы совместимости пакетов, о которых нужно знать. В основном, если вы используете пакеты с контентом, который копируется в ваш проект при установке, вам нужно придерживаться packages.config
. В противном случае PackageReference
дает лучший опыт почти всем остальным.