Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Необходимо ли папки 'packages' в C# проекте хранить в git-репозитории проекта?

#c_sharp #visual_studio #nuget


У меня есть два два проекта HelloWorld и HelloWorld.UnitTests. Во втором применив
nuget я установил NUnit, в результате чего создана папка packages. Использую Visual
Studio 2013.

Сейчас репозиторий выглядит так:

.\HelloWorld\
.\HelloWorld.UnitTests\
.\HelloWorld.UnitTests\packages.config
.\packages\
.\HelloWorld.sln


Папка packages появилась после того как сделал активным проект HelloWorld.UnitTests
и применил команду Install-Package NUget в консоли.

В Python-е, есть так называемые файлы зависимостей и можно применить команду pip
install -r requirements.txt. Но в C# такого решения не нашел. Меня смущает, что видимо
придется хранить множество dll-файлов, хотя логичнее было бы в репозитории хранить
файл зависимостей, аналогичный python-овскому решению с requirements.txt файлом.

Правильно ли я понимаю, что мне все-таки придется эту папку хранить в репозитории
проекта?
    


Ответы

Ответ 1



Основной способ подключения/удаления зависимостей в проект является nuget. В папке проекта у вас должен быть файл packages.config. В нем хранятся данные об используемых в проекте nuget-пакетах. Добавлять в VCS нужно именно его. На основании содержащихся в нем данных будут скачаны необходимые пакеты. Dll'ки же включать необязательно. Пример:

Ответ 2



Для.Net проектов есть nuget. Он создает файл, подобный питоновскому requirements.txt с зависимостями, и умеет их самостоятельно востанавливать.

Комментариев нет:

Отправить комментарий