Как избежать дублирования пакетов NuGet

В любом случае, у вас есть центральное расположение для локальных копий различных пакетов NuGet И у вас есть другое решение POINT для Visual Studio в единственной копии в центральном месте, а не копирование пакетов (ов) NuGet в каждый каталог VS solutions\packages?

Я знаю, что дисковое пространство дешево, но наличие нескольких копий NUnit, EF и т.д. просто кажется расточительным

Ответ 2

Что происходит, когда есть обновление пакета? Собираетесь ли вы тестировать каждый проект с новой версией пакета?

Что происходит, когда пакет имеет прерывание?

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

Кроме того, большинство пакетов настолько малы, что вам понадобятся сотни, если не тысячи копий их, чтобы заметить "отходы".

Несколько примеров
EF 4.3.1 - 2,84 МБ.
NUnit 2.3.012054 - 795 КБ.
Unity 2.1.505 - 1.45 MB.

Не беспокойтесь об этом. Это не стоит вашего времени.

Ответ 3

Да, это возможно сейчас, так как NuGet 2.1.

  • Вам нужно переместить файл NuGet.config в центральное место.
  • Измените значение конфигурации repositoryPath, чтобы указать центральное расположение для всех ваших пакетов (Документы NuGet).
  • Сделайте некоторые хаки в файле целей, чтобы удалить параметр solutionDir из команды восстановления.
  • Обновите все ссылки на проект, чтобы указать на новое местоположение.

Чтобы избежать дублирования, я подробно рассмотрел, что делать в этом ответе: fooobar.com/info/27779/...