Как правильно залить .NET проект на GitHub (удаление и восстановление пакетов)?

Рейтинг: 0Ответов: 1Опубликовано: 22.06.2023

Есть небольшой проект MVC Core, хочу залить его на GitHub. Но сначала надо удалить установленные пакеты, с возможностью последующего восстановления на локальной машине.

Другими словами. Если это был бы проект с React, то там всё просто:

  1. Вручную удаляются пакеты из папки npm_modules, проект отправляется на ГитХаб.
  2. Потом юзер стянул проект на локальную машину и восстановил их командой npm install.

В случае с MVC Core понимаю, что:

  1. В .csproj есть тег ItemGroup, а в нём <PackageReference... где прописан каждый пакет. Такой аналог requirments.txt в питоне.
  2. Удаление и восстановление пакетов вроде бы запускается командами dotnet clean и dotnet restore, но разобраться что-то не могу.

Собственно, вопросы:

  • Как правильно удалить пакеты?
  • Какие именно? Претенденты на удаление в /bin/debug/net6.0 папка runtimes и много .dll)
  • Как восстановить их локально после клонирования проекта?

Ответы

▲ 1

Вам не надо удалять файлы, вам надо включить их в .gitignore чтобы они не заливались в гит.

Сами пакеты по умолчанию ставятся не в папку проекта, а в профиль пользователя - так что с ними проблемы вообще нет. Однако, ссылки на них появляются в папке obj, что ни на что не влияет потому что лишние тут не ссылки, а вся папка. По ссылке в комментариях не ходите, там написана устаревшая информация.

Правильный gitignore для проектов на C# такой:

.vs
obj/
bin/

То есть вы не выгружаете на сервер промежуточные файлы сборки (obj), итоговые бинарники (bin) и файлы среды разработки (.vs - это для Visual Studio, не стесняйтесь дописать сюда настройки для других IDE при необходимости).