Какие файлы в проекте Visual C # Studio не требуют версии? - PullRequest
45 голосов
/ 29 октября 2009

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

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

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

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

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

Ответы [ 11 ]

43 голосов
/ 29 октября 2009

Не включать
бен
OBJ
* .Suo
* .User
_Resharper* (если у вас есть Resharper )

Включить
* .Sln
* .csproj

Вы также можете проверить файл .gitignore для визуальных студийных проектов на github.

15 голосов
/ 29 октября 2009

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

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

*.suo *.user bin obj *.pdb *.cache *_svn *.svn *.suo *.user *.build-res TestResults _ReSharper*
12 голосов
/ 29 октября 2009

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

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

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

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

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

5 голосов
/ 29 октября 2009

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

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

1 голос
/ 29 октября 2009

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

1 голос
/ 29 октября 2009

Необходимый ...

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

Не ...

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

0 голосов
/ 03 декабря 2017

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

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

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

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

0 голосов
/ 13 сентября 2013

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

0 голосов
/ 29 октября 2009

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

0 голосов
/ 29 октября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...