Мне интересно, действительно ли добавление файлов .csproj
в историю git полезно/лучше/плохо
(В настоящее время я использую git для частных репозиториев)
Спасибо!
Краткий ответ: вам обязательно нужны .csproj
файлы в вашей git
истории.
Длинный ответ: вот как ответить на такой вопрос. Сделайте копию папки решения. Удалите любые файлы, которые вам интересны, если они должны быть включены в историю git
. Попробуйте собрать и запустить свой код. Если не можете, значит они нужны в git
, и наоборот.
В этом случае вы обнаружите, что ваш проект не будет собран без файла .csproj
, следовательно, этот файл должен быть в git
.
Также важно удалить из git
файлы, которые не нужны для сборки и запуска проекта, например файлы, созданные в процессе сборки.
По большей части эта работа уже сделана за вас, например https://github.com/dotnet/core/blob/master/.gitignore есть список каталогов и расширений, которые следует игнорировать для .Net Core
проекты. На других платформах/языках размещены аналогичные .gitignore
файлы.
В дополнение к ответу выше полезно знать, что такое файлы проекта:
Когда вы создаете и строите решения в Visual Studio, Visual Studio использует MSBuild для сборки каждого проекта в вашем решении. Каждый проект Visual Studio включает файл проекта MSBuild с расширением файла, которое отражает тип проекта, например, проект C# (.csproj), проект Visual Basic.NET (.vbproj) или проект базы данных (.dbproj). ). Чтобы построить проект, MSBuild должен обработать файл проекта, связанный с проектом. Файл проекта — это XML-документ, содержащий всю информацию и инструкции, необходимые MSBuild для сборки проекта, например, включаемое содержимое, требования к платформе, информацию о версиях, параметры веб-сервера или сервера базы данных, а также задачи, которые необходимо выполнить. выполненный.
См. более подробную информацию (.Net
): Понимание файла проекта
Аналогично для .Net Core
: Файлы проекта
Отсюда и причина (выделено мной):
В этом случае вы обнаружите, что ваш проект не будет собран без файла
.csproj
...
Хт...
@MickyD из приведенного выше ответа, как уже упоминалось
Вы могли бы легко определить это. Просто выйдите из Visual Studio, удалите файлы .csproj, снова откройте свое решение в Visual Studio и посмотрите, что произойдет. Конечно, обязательно сделайте резервную копию таких файлов заранее.