Как правильно добавить проект.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 файл вам больше нечего делать...

Другие вопросы по тегам