Должен ли я по-прежнему хранить свои сторонние библиотеки в системе контроля версий? - PullRequest
31 голосов
/ 16 декабря 2010

Теперь, когда я использую NuGet для добавления / обновления необходимых ссылок, возможно ли добавить только package.config в систему управления версиями и добавить DLL-файлы во время сборки?

Обычно, как описано в этом связанном вопросе , я храню сторонние зависимости в папке под корнем решения и регистрирую их в системе контроля версий.

В настоящее время мы не используем никаких пользовательских инструментов или сценариев сборки: просто сборка VisualStudio по умолчанию с файлом .sln.

1 Ответ

15 голосов
/ 29 декабря 2010

Да, вы можете!http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

Текущий рабочий процесс NuGet всегда заключался в том, чтобы передать папку Packages в систему управления версиями.Причина заключается в том, что он соответствует тому, что обычно делают разработчики, когда у них нет NuGet: они создают папку 'Lib' или 'ExternalDependencies', сбрасывают туда двоичные файлы и передают их в систему управления исходным кодом, чтобы позволить другим создавать.

Хотя для некоторых пользователей это работало нормально, мы также слышали от многих, что фиксация пакетов в управлении исходным кодом - это не то, что они хотят.При использовании DVCS, такого как Mercurial или Git, фиксация бинарных файлов со временем может увеличить размер хранилища, как сумасшедший, делая клонирование все более и более болезненным.На самом деле, это был один из главных запросов NuGet к нашей системе отслеживания ошибок.

Хорошая новость заключается в том, что NuGet теперь предлагает рабочий процесс, который имеет большое значение для решения этой проблемы.Он еще не на 100% автоматизирован, но с минимальными затратами вы можете настроить свой проект для этого ...

...