Почему NuGet помещает пакеты на «уровень решения»?

Когда вы добавляете пакет nuget в проект, он помещает сборки в папку / packages на уровне решения.

Я знаю, что есть способы изменить это, но мне интересно, почему это местоположение по умолчанию, поскольку оно кажется очень бесполезным по следующим причинам:

1) Если у вас есть проект, который является частью нескольких решений, папка / packages не обязательно будет там, где ее ожидает проект.

2) Ожидается, что вы вручную внесете ее в систему управления версиями для других членов команды, что намного менее удобно, чем если бы она была частью проекта, который он нужен.

3) Если вы переместите проект в другое место в файловой системе или на другой компьютер, на котором нет полной базы кода, он не найдет папку / packages там, где он ожидает.

Кажется, все эти проблемы были бы решены, если бы NuGet просто использовал папку / packages внутри проекта, а не решение. И это кажется гораздо более логичным местом для размещения пакетов, на которые в любом случае полагается проект.

Итак ...Я предполагаю, что были / есть какие-то веские причины для этого на уровне решения, и я надеюсь, что кто-то сможет просветить меня.

8
задан Jim Aho 10 October 2014 в 08:13
поделиться