Как правильно залить .NET проект на GitHub (удаление и восстановление пакетов)?
Есть небольшой проект MVC Core, хочу залить его на GitHub. Но сначала надо удалить установленные пакеты, с возможностью последующего восстановления на локальной машине.
Другими словами.
Если это был бы проект с React, то там всё просто:
- Вручную удаляются пакеты из папки
npm_modules, проект отправляется на ГитХаб. - Потом юзер стянул проект на локальную машину и восстановил их командой
npm install.
В случае с MVC Core понимаю, что:
- В
.csprojесть тегItemGroup, а в нём<PackageReference...где прописан каждый пакет. Такой аналогrequirments.txtв питоне. - Удаление и восстановление пакетов вроде бы запускается командами
dotnet cleanиdotnet restore, но разобраться что-то не могу.
Собственно, вопросы:
- Как правильно удалить пакеты?
- Какие именно? Претенденты на удаление в
/bin/debug/net6.0папкаruntimesи много.dll) - Как восстановить их локально после клонирования проекта?
Ответы (1 шт):
Вам не надо удалять файлы, вам надо включить их в .gitignore чтобы они не заливались в гит.
Сами пакеты по умолчанию ставятся не в папку проекта, а в профиль пользователя - так что с ними проблемы вообще нет. Однако, ссылки на них появляются в папке obj, что ни на что не влияет потому что лишние тут не ссылки, а вся папка. По ссылке в комментариях не ходите, там написана устаревшая информация.
Правильный gitignore для проектов на C# такой:
.vs
obj/
bin/
То есть вы не выгружаете на сервер промежуточные файлы сборки (obj), итоговые бинарники (bin) и файлы среды разработки (.vs - это для Visual Studio, не стесняйтесь дописать сюда настройки для других IDE при необходимости).