Debo añadir el Estudio Visual.suo y.archivos de usuario para el control de código fuente?


Las soluciones de Visual Studio contienen dos tipos de archivos de usuario ocultos. Uno es el archivo solution .suo que es un archivo binario. El otro es el archivo project .user 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 añado estos archivos y otro desarrollador comprueba la solución, ¿Visual Studio creará automáticamente nuevos archivos de usuario?

Author: mnciitbhu, 2008-09-16

17 answers

Estos archivos contienen configuraciones de preferencias de usuario que son en general específicas de su máquina, por lo que es mejor no ponerlo en SCM. Además, VS lo cambiará casi cada vez que lo ejecute, por lo que siempre estará marcado por el SCM como 'cambiado'. No incluyo tampoco, estoy en un proyecto usando 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 implementación, 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'.

 626
Author: Fabio Ceconello,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-01 18:27:04

No es necesario agregar estos contain contienen configuraciones por usuario, y otros desarrolladores no querrán su copia.

 130
Author: Steve Cooper,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:42:39

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

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

  1. Para que otros desarrolladores no terminen con la configuración de un desarrollador.
  2. Así que cuando se ve el estado, o confirmar archivos, esos archivos no desordenarán la base de código y oscurecerán los nuevos archivos que necesita agregar.
 64
Author: JXG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-14 12:39:08

No confirmamos el archivo binario (*.suo), pero nos comprometemos el .archivo de usuario. El .el archivo de usuario 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". Utilizamos NUnit en algunos proyectos y configuramos el nunit-gui.exe como la opción de inicio para el proyecto. Sin el .archivo de usuario, cada miembro del equipo tendría que configurarlo por separado.

Espero que esto ayude.

 46
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-27 16:40:48

Desde que encontré esta pregunta/respuesta a través de Google en 2011, pensé en tomar un segundo y agregar el enlace para el *.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). Ya que no estaba seguro de que a*.el archivo sdf puede tener un uso legítimo en otro lugar, solo ignoré el [projectname] específico.archivo sdf de SVN.

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

 25
Author: Stephen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:45

No, no debe agregarlos al control de código fuente ya que, como ha dicho, son específicos del usuario.

SUO (Opciones de Usuario de la Solución): Registros todas las opciones que usted podría asocie con su solución para que cada vez que lo abres, incluye personalizaciones que usted han hecho.

El.el archivo de usuario contiene las opciones de usuario para el proyecto (mientras que SUO es para la solución) y extiende el nombre del archivo de proyecto (por ejemplo, cualquier cosa.csproj.el usuario contiene la configuración del usuario por lo que sea.proyecto csproj).

 22
Author: JRoppert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:55:38

De forma predeterminada, Visual SourceSafe de Microsoft no incluye estos archivos en el control de código fuente porque son archivos de configuración específicos del usuario. Yo seguiría ese modelo si estás usando SVN como control de código fuente.

 17
Author: cori,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:43:13

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

No se por qué su proyecto almacena el directorio DebuggingWorkingDirectory en el archivo suo. Si esa es una configuración específica del usuario, debe considerar guardarlo en el *.proj.nombre de archivo del usuario. Si esa configuración se puede compartir entre todos los usuarios que trabajan en el proyecto que debe considerar almacenar en el archivo de proyecto en sí.

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

Alin Constantin (MSFT)

 16
Author: Scott W,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-29 15:22:59

Visual Studio los creará automáticamente. No recomiendo ponerlos en control de código fuente. Ha habido numerosas ocasiones en las que el archivo SOU de un desarrollador local estaba causando que VS se comportara erráticamente en esa caja de desarrolladores. Eliminar el archivo y luego dejar que VS lo recreara siempre solucionó los problemas.

 11
Author: Bloodhound,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:42:45

En el sitio web de MSDN , establece claramente que

Las opciones de usuario de la solución (.el archivo suo) contiene la solución por usuario opcion. Este archivo no debe ser revisado en el control de código fuente.

Así que diría que es bastante seguro ignorar estos archivos mientras comprueba cosas en su control de código fuente.

 10
Author: Farax,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-19 02:30:34

No lo haría. Cualquier cosa que pudiera cambiar por "usuario" generalmente no es buena en el control de código fuente. .suo, .usuario, directorios obj/bin

 8
Author: ScaleOvenStove,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:52:17

Estos archivos son opciones específicas del usuario, que deben ser independientes de la propia solución. Visual Studio creará otros nuevos según sea necesario, por lo que no es necesario que se registren en el control de código fuente. De hecho, probablemente sería mejor no hacerlo, ya que esto permite a los desarrolladores individuales personalizar su entorno como mejor les parezca.

 7
Author: benefactual,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:44:07

No puede controlar el código fuente .archivos de usuario, porque son específicos del usuario. Contiene el nombre de la máquina remota y otras cosas dependientes del usuario. Es un archivo relacionado con vcproj.

El.el archivo suo es un archivo relacionado con sln y contiene las "opciones de usuario de la solución" (proyecto (s) de inicio, posición de Windows (qué está acoplado y dónde, qué está flotando), etc.)

Es un archivo binario, y no se si contiene algo "relacionado con el usuario".

En nuestra compañía no tomamos aquellos archivos bajo control de código fuente.

 6
Author: ugasoft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-21 09:43:09

Contienen la configuración específica del proyecto que normalmente se asigna a un solo desarrollador (como, por ejemplo, el proyecto de inicio y la página de inicio que se iniciarán al depurar la aplicación).

Así que es mejor no agregarlos al control de versiones, dejando VS recrearlos para que cada desarrollador pueda tener la configuración específica que desee.

 6
Author: massimogentilini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-14 12:49:14

.usuario es la configuración del usuario, y creo .suo es la solución de opciones de usuario. No desea que estos archivos estén bajo control de código fuente; se volverán a crear para cada usuario.

 4
Author: Nick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:43:31

Usando Rational ClearCase la respuesta es no, solo el.sln&.* proj debe estar registrado en el control de código fuente, no puedo responder por otros proveedores. Si recuerdo correctamente estos archivos son opciones específicas de "usuario", su entorno.

 3
Author: titanae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-16 13:43:48

Si establece sus dependencias dir ejecutables en ProjectProperties>Debugging>Environment, las rutas se almacenan en '.archivos de usuario.

Supongamos que establezco esta cadena en el campo mencionado anteriormente: "PATH = C:\xyz \ bin" Así es como se almacenará en '.archivo de usuario:

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

Esto nos ayudó mucho mientras trabajábamos en OpenCV. Podríamos usar diferentes versiones de OpenCV para diferentes proyectos. Otra ventaja es que fue muy fácil configurar nuestros proyectos en un nuevo equipo. Solo teníamos que copiar los dirs de dependencia correspondientes. Así que para algunos proyectos, prefiero añadir el'.usuario ' a control de código fuente.

Aunque depende totalmente de los proyectos. Puede tomar una llamada en función de sus necesidades.

 0
Author: adheen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-26 07:29:54