Как правильно добавить проект.NET с зависимостями NuGet в репозиторий git?
У меня есть проект (ы), для которого я пишу тесты NUnit (например). Я хочу зафиксировать код для git, но я также считаю плохой практикой фиксировать пакеты NuGet (NUnit и NUnit.Runner) в репозиторий. Однако я также не хочу включать восстановление пакетов, поскольку считаю, что это пользовательская настройка, а не настройка проекта (IIRC).
Как правильно добавить проект.NET с зависимостями NuGet в репозиторий git? Я предполагаю, что это будет что-то, что с радостью захватит пакеты, но требует вмешательства разработчика. Возможно, просто ожидайте, что другие разработчики узнают, чтобы добавить эти недостающие пакеты обратно в проект? (Также кажется, что мы все время решаем конфликты.csproj).
2 ответа
Если вы не можете или не хотите включать восстановление пакетов, разработчик может легко добавить все пакеты из командной строки, как описано в этом вопросе:
Вы можете использовать nuget.exe для восстановления ваших пакетов. Выполните следующую команду для каждого проекта.
nuget install packages.config
Вы также можете запустить это в команде перед сборкой, как описано здесь:
$(SolutionDir)Tools\nuget install $(ProjectDir)packages.config
Но на самом деле, восстановление пакета проще, это всего лишь несколько кликов.
Вы должны добавить свое решение packages.config
файл только для вашего Git репо. С его помощью каждый разработчик сможет автоматически установить нужный пакет.
Например, по крайней мере в Visual Studio 2012 вы можете установить флажок "Разрешить NuGet загружать отсутствующие пакеты во время сборки" в окне "Настройки диспетчера пакетов", доступном в меню "Инструменты"> "Диспетчер библиотечных пакетов". С этим параметром и packages.config
файл вам больше нечего делать...