Есть два сценария для NuGet против VCS: регистрироваться или не регистрироваться, вот в чем вопрос.По моему мнению, оба действительны, но при использовании TFS в качестве VCS я бы определенно выбрал политику no-checkin для пакетов NuGet .
При этом даже при использовании no-проверить политику для пакетов NuGet, я бы по-прежнему проверял изменения содержимого, которые эти пакеты NuGet внесли в мои проекты.Папка \Scripts
будет проверена полностью (не выборочно, не проигнорировано).
Политика отсутствия регистрации пакетов для меня означает: не проверять папку \ Packages ( скрыть , игнорировать ее), за исключением файла \Packages\repositories.config
.
Таким образом, вы фактически не фиксируете какие-либо пакеты NuGet, а при использовании Enable-PackageRestore
из NuGetPowerTools (это будет встроено в NuGet v1.6 прямо за углом) - любую машину, которая проверяет код и собирает, получит все необходимые зависимости NuGet на этапе предварительной сборки.Это справедливо как для локальных машин разработки, так и для серверов сборки, если в вашем решении включен Enable-PackageRestore
и он указывает на правильные репозитории NuGet (локальные, внутренние, внешние).
Если вы об этом думаетепри установке пакета NuGet, который добавляет ссылки только на некоторые двоичные файлы, вы уже выполняете то же самое в сценарии без регистрации: вы не будете фиксировать подпапки папки \Packages
, но все же вы будете фиксировать изменения проекта(добавленная ссылка).
Я бы сказал, будет согласованным (для любого типа пакета), независимо от того, содержит ли он только двоичные файлы, только содержимое или смесь. Не фиксируйте сами пакеты , фиксируйте изменения в своих источниках.(только для того, чтобы избежать проблем с поиском того, что изменилось с точки зрения содержания)