Мысль здравая. Например, при распределенном билде, как-то не хочется пересылать на каждый из нодов мегабайты бинарников если это бинарники конкретно с нугета. Особенно если вспомнить что нугетовские пакеты порой тянут за собой бинарники для разных платформ и кучу всякого мусора впридачу. Понятное дело что можно пробовать лишние артефакты отфильтровать, но это существенно усложняет задачу.
Я вообще-то исхожу из правила, что сорц контрол на то и сорц, чтобы бинарников в нем не было вообще. К сожалению на сегоднишнем уравне развития инструментария идеал недосягаем.… Но стремится к нему нужно.
Вам никто не может гарантировать, что даже через год они будут хранить старые версии библиотек, а вам может быть понадобиться что-то подпиливать, тут-то и начнуться проблемы. Имхо, лучше все в сорц контрол. Не так уж часто меняются бинарники, чтобы переживать о размерах.
Старые версии они хранят, это один из способов борьбы с dll hell. Но если вы боитесь что они загнутся — можете таскать пакеты к себе, благо дело безболезненное сосуществование вагона версий предусмотрено системой. В конце концов большинство из пакетов nuget.org можно собрать из исходников.
Я сам с .NET не знаком, поэтому вопрос: если, например, программисту вдруг надо переехать на другой комп и работать там, ему достаточно забрать проект и VCS и собрать его? При первом билде подтянутся пакеты, так? Или надо позвать nuget и скормить ему список пакетов перед началом работы?
Спасибо, действительно удобно. Ради спортивного интереса посмотрел, что там внутри. По сути — все то же, только чуть более гибко, так что поточный проект переводить пока не вижу смысла.
NuGet — качаем пакеты из интернета в процессе сборки