Стоит ли добавлять файлы Visual Studio .suo и .user в систему управления версиями?
Автор вопроса: Ben MillsОтветов: 12
Решения Visual Studio содержат два типа скрытых пользовательских файлов. Один из них - это файл решения .suo, который представляет собой двоичный файл. Другой - это файл проекта .user, который представляет собой текстовый файл. Какие именно данные содержат эти файлы?
Мне также было интересно, следует ли мне добавлять эти файлы в систему управления версиями (в моем случае - Subversion). Если я не добавлю эти файлы, а другой разработчик проверит решение, будет ли Visual Studio автоматически создавать новые пользовательские файлы?
Файлы .suo воссоздаются автоматически. Отличный способ "обновить" настройки до значений по умолчанию, если что-то сломается. CodingBarfield 27.09.2010
Рекомендации для проектов Subversion и Visual Studio - это более общий вопрос по этой теме. Также принятый ответ на него содержит ссылку на официальную документацию MSDN, в которой подробно описано, какие файлы / каталоги решений VS / проекты должны быть добавлены в системы управления версиями, а какие части следует игнорировать. Attila Csipak 07.04.2014
для * .suo см. здесь: msdn.microsoft.com/en-us /library/bb165909.aspx smwikipedia 05.03.2015
Какие типы файлов Visual C ++ следует использовать для управления версиями? phuclv 31.01.2019
Существует очень простой способ определить, следует ли включать конкретный файл в систему контроля версий. Удалите файл. Ваше приложение по-прежнему строится и выполняется так, как ожидалось? В таком случае файл не следует включать. JoelFan 27.10.2020
Эти файлы содержат конфигурации пользовательских предпочтений, которые в целом относятся к вашей машине, поэтому лучше не помещать их в SCM. Кроме того, VS будет изменять его почти каждый раз, когда вы его выполняете, поэтому он всегда будет помечен SCM как "измененный". Я тоже не включаю, я участвую в проекте, использующем VS в течение 2 лет, и у меня не было проблем с этим. Единственное незначительное раздражение заключается в том, что параметры отладки (путь выполнения, цель развертывания и т. Д.) Хранятся в одном из этих файлов (не знаю, в каком), поэтому, если у вас есть стандарт для них, вы не сможете ' опубликуйте его через SCM для других разработчиков, чтобы вся среда разработки была "готова к использованию".
Ответ 2 · рейтинг 145 · Steve Cooper
Вам не нужно добавлять их - они содержат настройки для каждого пользователя, и другим разработчикам ваша копия не понадобится.
Ответ 3 · рейтинг 71 · JXG
Другие объяснили, почему наличие файлов *.suo и *.user в системе управления версиями - не лучшая идея.
Я предлагаю вам добавить эти шаблоны в свойство svn:ignore по двум причинам:
Так что другие разработчики не останутся без настроек одного разработчика.
Поэтому, когда вы просматриваете статус или коммитите файлы, эти файлы не будут загромождать кодовую базу и скрывать новые файлы, которые вам нужно добавить.
Ответ 4 · рейтинг 49 · Thomas
Мы не фиксируем двоичный файл (* .suo), но мы фиксируем файл .user. Файл .user содержит, например, параметры запуска для отладки проекта. Вы можете найти параметры запуска в свойствах проекта на вкладке "Отладка". Мы использовали NUnit в некоторых проектах и настроили nunit-gui.exe в качестве стартовой опции для проекта. Без файла .user каждому члену группы пришлось бы настраивать его отдельно.
Надеюсь это поможет.
Ответ 5 · рейтинг 26 · Stephen
Поскольку я нашел этот вопрос / ответ через Google в 2011 году, я подумал, что займу секунду и добавлю ссылку на файлы * .SDF, созданные Visual Studio 2010, в список файлов, которые, вероятно, не следует добавлять в систему контроля версий ( IDE создаст их заново). Поскольку я не был уверен, что файл * .sdf может иметь законное использование в другом месте, я проигнорировал только конкретный файл [имя проекта] .sdf из SVN.
Нет, вам не следует добавлять их в систему управления версиями, поскольку, как вы сказали, они зависят от пользователя.
SUO (Параметры пользователя решения): записывает все параметры, которые вы можете связать с вашим решением, так что каждый раз, когда вы его открываете, оно включает в себя сделанные вами настройки.
Файл .user содержит пользовательские параметры для проекта (в то время как SUO предназначен для решения) и расширяет имя файла проекта (например, something.csproj.user содержит пользовательские настройки для проекта something.csproj).
Я не знаю, почему ваш проект хранит DebuggingWorkingDirectory в файле suo. Если это параметр, специфичный для пользователя, вам следует подумать о том, чтобы сохранить его в имени файла * .proj.user. Если этот параметр доступен всем пользователям, работающим над проектом, вам следует подумать о том, чтобы сохранить его в самом файле проекта.
Даже не думайте о добавлении файла suo в систему управления версиями! Файл SUO (параметры пользователя soluton) предназначен для хранения пользовательских настроек и не должен использоваться совместно пользователями, работающими над одним и тем же решением. . Если вы добавляете файл suo в базу данных scc, я не знаю, какие еще вещи в среде IDE вы бы нарушили, но с точки зрения управления версиями вы нарушите интеграцию scc веб-проектов, использовался плагин Lan vs Internet другими пользователями для доступа к VSS, и вы даже можете вызвать полную поломку scc (путь к базе данных VSS, хранящийся в файле suo, который может быть действительным для вас, может быть недействительным для другого пользователя).
Алин Константин (MSFT)
Ответ 8 · рейтинг 19 · cori
По умолчанию Microsoft Visual SourceSafe не включает эти файлы в систему управления версиями, поскольку они являются файлами настроек для конкретного пользователя. Я бы следовал этой модели, если вы используете SVN в качестве системы управления версиями.
Ответ 9 · рейтинг 13 · Mike Becatti
Visual Studio автоматически создаст их. Я не рекомендую помещать их в систему контроля версий. Было много раз, когда файл SOU местного разработчика приводил к беспорядочной работе VS в этом окне разработчика. Удаление файла и разрешение VS воссоздать его всегда устраняли проблемы.
Файл пользовательских параметров решения (.suo) содержит индивидуальные параметры решения. Этот файл не следует возвращать в систему контроля исходного кода.
Поэтому я бы сказал, что игнорировать эти файлы при проверке материала в системе управления версиями довольно безопасно.
Ответ 11 · рейтинг 9 · ScaleOvenStove
Я бы не стал. Все, что может измениться для каждого "пользователя", обычно не годится в системе управления версиями. Каталоги .suo, .user, obj / bin
Ответ 12 · рейтинг 9 · Pablo Carrasco Hernández
No.
Мне просто нужен был очень короткий ответ, а его не было.