Pregunta ¿Debo agregar los archivos Visual Studio .suo y .user al control de fuente?


Las soluciones de Visual Studio contienen dos tipos de archivos de usuario ocultos. Una es la solución .suo archivo que es un archivo binario El otro es el proyecto .user archivo que es un archivo de texto. Exactamente, ¿qué datos contienen estos archivos?

También me he estado preguntando si debería agregar estos archivos al control de código fuente (Subversion en mi caso). Si no agrego estos archivos y otro desarrollador verifica la solución, ¿Visual Studio creará automáticamente nuevos archivos de usuario?


763
2017-09-16 13:40


origen


Respuestas:


Estos archivos contienen configuraciones de preferencia de usuario que son en general específicas para su máquina, por lo que es mejor no colocarlo en SCM. Además, VS lo cambiará casi cada vez que lo ejecute, por lo que siempre estará marcado por el SCM como 'cambiado'. Tampoco incluyo, estoy en un proyecto que usa VS durante 2 años y no tuve problemas para hacerlo. La única molestia menor es que los parámetros de depuración (ruta de ejecución, destino de despliegue, etc.) se almacenan en uno de esos archivos (no sé cuál), por lo que si tiene un estándar para ellos, no podrá ' publicarlo a través de SCM para que otros desarrolladores tengan todo el entorno de desarrollo listo para usar.


615
2017-09-16 14:08



No es necesario que agregue estos; contienen configuraciones por usuario, y otros desarrolladores no querrán su copia.


128
2017-09-16 13:42



Otros han explicado por qué tener el *.suo y *.user archivos bajo control de fuente no es una buena idea.

Me gustaría sugerir que agregue estos patrones a la svn:ignore propiedad por 2 razones:

  1. Entonces otros desarrolladores no terminarán con la configuración de un desarrollador.
  2. Entonces, cuando ve el estado, o confirma archivos, esos archivos no saturarán la base de códigos y oscurecerán los archivos nuevos que necesite agregar.

64
2017-09-17 14:55



No asignamos el archivo binario (* .suo), pero confirmamos el archivo .user. El archivo .user contiene, por ejemplo, las opciones de inicio para depurar el proyecto. Puede encontrar las opciones de inicio en las propiedades del proyecto en la pestaña "Depurar". Usamos NUnit en algunos proyectos y configuramos nunit-gui.exe como la opción de inicio para el proyecto. Sin el archivo .user, cada miembro del equipo tendría que configurarlo por separado.

Espero que esto ayude.


46
2017-09-16 13:46



Desde que encontré esta pregunta / respuesta a través de Google en 2011, pensé que tomaría un segundo y agregaría el enlace para los archivos * .SDF creados por Visual Studio 2010 a la lista de archivos que probablemente no deberían agregarse al control de versiones ( el IDE los volverá a crear). Como no estaba seguro de que un archivo * .sdf pudiera tener un uso legítimo en otro lugar, solo ignoré el archivo específico [projectname] .sdf de SVN.

¿Por qué el asistente de conversión de Visual Studio 2010 crea un archivo de base de datos SDF masivo?


25
2017-07-04 14:21



No, no debe agregarlos al control de fuente ya que, como usted dijo, son específicos del usuario.

SUO (Opciones de usuario de la solución): registros   todas las opciones que puedas   asociarse con su solución para que   cada vez que lo abres, incluye   personalizaciones que   Han hecho.

El archivo .user contiene las opciones de usuario para el proyecto (mientras que SUO es para la solución) y amplía el nombre del archivo del proyecto (por ejemplo, anything.csproj.user contiene la configuración del usuario para el proyecto anything.csproj).


22
2017-09-16 13:55



De forma predeterminada, Visual SourceSafe de Microsoft no incluye estos archivos en el control de origen porque son archivos de configuración específicos del usuario. Seguiría ese modelo si está utilizando SVN como control de origen.


17
2017-09-16 13:43



Esta parece ser la opinión de Microsoft al respecto: http://social.msdn.microsoft.com/forums/en-US/vssourcecontrol/thread/dee90d75-d825-4c76-a30f-016eab15ef7f

No sé por qué su proyecto almacena el DebuggingWorkingDirectory en   el archivo suo. Si esa es una configuración específica del usuario, debería considerar   almacenando eso en el nombre de archivo * .proj.user. Si ese ajuste es compartible   entre todos los usuarios que trabajan en el proyecto, debe considerar almacenar   en el archivo del proyecto en sí.

¡Ni siquiera pienses en agregar el archivo suo al control de fuente! El SUO   El archivo (opciones de usuario de solución) está destinado a contener el usuario específico   configuración, y no se debe compartir entre los usuarios que trabajan en el mismo   solución. Si agregas el archivo suo en la base de datos scc, no lo hago   saber qué otras cosas en el IDE romperías, pero desde el control de fuente   punto de vista romperá la integración scc de proyectos web, el Lan vs   Plugin de Internet utilizado por diferentes usuarios para el acceso VSS, y usted podría   incluso provocar que la scc se rompa por completo (ruta de la base de datos VSS almacenada en   el archivo suo que puede ser válido para usted puede no ser válido para otro usuario).

Alin Constantin (MSFT)


16
2017-09-16 13:52