Подтвердить что ты не робот

Какие файлы в проекте Visual С# Studio не нужно версировать?

Я новичок в Visual С# Studio (на самом деле использую Express Edition, но другой разработчик использует полную версию), и мы используем контроль версий (svn).

Мне приемлемо добавлять файлы проекта в репозиторий, так как это репо только для двух из нас, использующих Visual С# Studio. Но похоже, что в нем есть некоторые нерелевантные файлы. Может ли кто-нибудь, знакомый с файлами проекта Visual С# Studio, сказать, какие файлы могут быть безопасными svn: ignored?

Некоторые подозрительные файлы:

  • project.csproj
  • project.csproj.Debug.cachefile
  • project.csproj.user
  • project.sln
  • project.suo
  • Content\Content.contentproj

Я уверен, что .sln требуется, но что это .suo? и .csproj? Может/должен ли какой-либо из них быть сгенерирован Visual С# Studio при загрузке проекта?

4b9b3361

Ответ 2

.csproj определяет структуру проекта. Это жизненно важно.

Это то, что я добавляю в свой глобальный список игнорирования в Tortoise SVN:

*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*

Ответ 3

Не следует указывать версии:

  • .csproj.user - это параметры файла пользовательского проекта (например, проект запуска)
  • .suo - это настройки файла пользовательского решения.

Должен быть версией:

  • .sln - это файл решения (какие проекты он содержит и т.д.)
  • .csproj - это файл проекта

Я не уверен в "contentproj", но это похоже на файл проекта, который должен быть под svn.

Ответ 4

Файл .sln определяет ваше решение вместе с файлами .proj(по одному для каждого проекта), поэтому храните их в своем svn!

Вы можете пропустить файл .suo(личные настройки - как угодно), а также папки bin или obj. Также можно оставить файлы .cache.

Ответ 5

нужно...

*. sln - Файл решения содержит ссылки на все проекты и зависимости между проектами.
*.csproj - файлы проекта сами. Они рассказывают, какие файлы включены в проект, ссылки и шаги сборки для проекта.

Не...

*. suo - это файл настроек пользователя...

Ответ 6

Просто чтобы добавить, все, что восстанавливается во время сборки, должно быть исключено. Например, файлы, созданные из события предварительной сборки или в некоторых случаях пользовательский инструмент.

Ответ 7

Мы также работаем с Visual Studio С# и SVN, и я не знаю обо всех файлах проекта, но мы исключаем только полный каталог bin.

Ответ 8

Вам обязательно нужны файлы csproj... Возможно, вы захотите попробовать AnkhSVN или VisualSVN, эти добавочные файлы VS добавят только необходимые файлы в SVN.

Или вы можете удалить файлы из своей структуры каталогов, пока они больше не загрузятся.

Я предлагаю экспериментировать таким образом, потому что это отличный способ узнать, как решение является структурой VS.

Ответ 9

Я оставляю файл параметров пользовательского интерфейса Visual Studio (*.suo) и каталоги двоичных файлов, так как они перекомпилируются каждый раз при создании вашего решения (папки bin и obj).

Ответ 10

Отметьте это - введите visualstudio, и вы получите файл .gitignore, созданный для вас, также вы можете объединить несколько языков /ide ' игнорируйте файлы вместе, если у вас есть решение, содержащее несколько языков.

Ответ 11

Как это еще не указано в других ответах:

В случае, если вы используете Visual Studio с Unity 3D, вы можете смело добавить оба файла *.csproj и *.sln в файл .gitignore, в отличие от обычного случая.

Действительно, структура проекта управляется самим Unity, а не Visual Studio. Единственными последствиями их хранения в контроле источника являются конфликты, тем более, что по некоторым причинам между участниками используются разные версии Visual Studio.

Пример .gitignore для Unity 3D: https://github.com/github/gitignore/blob/master/Unity.gitignore