Должен ли я добавить Visual Studio.СУО и.пользовательские файлы для управления версиями?


решения Visual Studio содержат два типа скрытых файлов пользователей. Один из них-это решение .suo файл, который является двоичным файлом. Другой-это проект .user файл, который является текстовым файлом. Какие именно данные они содержат?

мне также было интересно, следует ли добавить эти файлы в систему управления версиями (Subversion в моем случае). Если я не добавлю эти файлы, а другой разработчик проверит решение, Visual Studio автоматически создаст новые пользовательские файлы?

17 773

17 ответов:

эти файлы содержат конфигурации пользовательских предпочтений, которые в целом специфичны для вашей машины, поэтому лучше не помещать ее в SCM. Кроме того, VS будет изменять его почти каждый раз, когда вы его выполняете, поэтому он всегда будет отмечен SCM как "измененный". Я тоже не включаю, я в проекте, использующем VS в течение 2 лет, и у меня не было проблем с этим. Единственным незначительным раздражением является то, что параметры отладки (путь выполнения, цель развертывания и т. д.) хранятся в одном из этих файлов (не знаю, что), поэтому, если у вас есть стандарт для них, вы не сможете "опубликовать" его через SCM для других разработчиков, чтобы вся среда разработки была "готова к использованию".

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

другие объяснили, почему имея *.suo и *.user файлы под управлением исходного кода-это не очень хорошая идея.

Я хотел бы предложить вам добавить эти шаблоны в svn:ignore свойство по 2 причинам:

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

мы не фиксируем двоичный файл (*.СУО), но мы совершаем то .пользовательский файл. Этот.файл пользователя содержит, например, параметры запуска для отладки проекта. Вы можете найти параметры запуска в свойствах проекта на вкладке "отладка". Мы использовали NUnit в некоторых проектах и настроили NUnit-gui.exe в качестве опции запуска для проекта. Без того .пользовательский файл, каждый член команды должен будет настроить его отдельно.

надеюсь, что это помогает.

Так как я нашел этот вопрос/ответ через Google в 2011 году, я думал, что возьму секунду и добавлю ссылку на *.SDF файлы, созданные Visual Studio 2010 в список файлов, которые, вероятно, не следует добавлять в систему управления версиями (IDE будет повторно создавать их). Поскольку я не был уверен, что *.sdf-файл может иметь законное использование в другом месте, я только проигнорировал конкретный [имя проекта].sdf файл из SVN.

Почему мастер преобразования Visual Studio 2010 создает массивный файл базы данных SDF?

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

SUO (параметры пользователя решения): записи все варианты, которые вы можете связать с вашим решением, так что каждый раз, когда вы открываете его, он включает настройки, которые вы предпринятый.

The .пользовательский файл содержит пользовательские параметры для проекта (в то время как SUO-для решения) и расширяет имя файла проекта (например, что-либо.csproj.пользователь содержит пользовательские настройки для чего угодно.проекта csproj файл).

по умолчанию Microsoft Visual SourceSafe не включает эти файлы в систему управления версиями, поскольку они являются файлами пользовательских настроек. Я бы следовал этой модели, если вы используете SVN в качестве системы управления версиями.

Это, кажется, мнение Microsoft по этому вопросу: http://social.msdn.microsoft.com/forums/en-US/vssourcecontrol/thread/dee90d75-d825-4c76-a30f-016eab15ef7f

Я не знаю, почему ваш проект хранит DebuggingWorkingDirectory в файл suo. Если это пользовательская настройка, вы должны рассмотреть хранение этого в *.прой.имя пользователя. Если этот параметр доступен для совместного использования между всеми пользователями, работающими над проектом, вы должны рассмотреть сохраняющий это в самом файле проекта.

даже не думайте о добавлении файла suo в систему управления версиями! СУО (параметры пользователя soluton) файл предназначен для содержания конкретных пользователей настройки, и не должны быть разделены между пользователями, работающими на одном и том же решение. Если вы добавляете файл suo в базу данных scc, я этого не делаю знайте, что другие вещи в IDE вы бы сломали, но из системы управления версиями точки зрения вам будет разорвать веб-проектов интеграция SCC, локальной сети против Интернет-плагин, используемый разными пользователями для доступа к VSS, и вы можете даже заставить scc полностью сломаться (путь к базе данных VSS, хранящийся в файл suo, который может быть действительным для вас, может быть недействительным для другого пользователя).

Алин Константин (MSFT)

в Visual Studio автоматически создаст их. Я не рекомендую помещать их в систему управления версиями. Там было много раз, когда файл SOU локального разработчика вызывал VS вести себя беспорядочно на этом поле разработчиков. Удаление файла, а затем позволяя VS воссоздать его всегда исправлены проблемы.

на сайт MSDN, в нем ясно говорится, что

параметры пользователя решения (.suo) файл содержит решение для каждого пользователя опции. этот файл не должен быть возвращен в управление исходным кодом.

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

Я бы не стал. Ничего, что могло бы изменить на "пользователя", как правило, не хорошо в управления исходным кодом. .СУО .пользователь, каталоги obj/bin

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

вы не можете управлять исходным кодом .пользовательские файлы, потому что это зависит от пользователя. Он содержит имя удаленной машины и другие зависимые от пользователя вещи. Это файл, связанный с vcproj.

The .файл suo-это файл, связанный с sln, и он содержит "параметры пользователя решения" (запускаемые проекты), положение windows(что закреплено и где, что плавает) и т. д.)

это двоичный файл, и я не знаю, содержит ли он что-то "связанное с пользователем".

в нашей компании мы не берите эти файлы под контроль исходного кода.

Они содержат определенные параметры проекта, которые обычно назначаются одному разработчику (например, начальный проект и начальная страница для запуска при отладке приложения).

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

.пользователя, настройки пользователя, и я думаю .suo-это решение пользователя. Вы не хотите, чтобы эти файлы находились под управлением исходного кода; они будут повторно созданы для каждого пользователя.

используя Rational ClearCase ответ-нет, только the .ФСЛ. & * proj должен быть зарегистрирован в управлении исходным кодом, я не могу ответить за других поставщиков. Если я правильно помню, эти файлы являются "пользовательскими" конкретными параметрами, вашей средой.

Если вы устанавливаете зависимости исполняемого каталога в ProjectProperties>Debugging>Environment, пути хранятся в '.файлы пользователя.

предположим, что я установил эту строку в вышеупомянутом поле: "PATH=C:\xyz\bin" Вот как он будет храниться в '.файл пользователя:

<LocalDebuggerEnvironment>PATH=C:\xyz\bin$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>

Это очень помогло нам во время работы в OpenCV. Мы могли бы использовать разные версии OpenCV для разных проектов. Еще одно преимущество, это было очень легко настроить наши проекты на новой машине. Нам просто нужно было скопировать соответствующие зависимости dirs. Поэтому для некоторых проектов я предпочитаю добавлять '.пользователь ' в систему управления версиями.

хотя, это полностью зависит от проектов. Вы можете принять вызов на основе ваших потребностей.