visual studio remarks practices para best c# visual-studio-2010 svn svnignore

c# - remarks - Mejores prácticas para proyectos de Subversion y Visual Studio



visual studio summary shortcut (7)

En caso de que esté utilizando la lista de ignorar, SVN distingue entre mayúsculas y minúsculas. Así que recuerde ignorar las carpetas bin y bin por separado.

Además, tenía una pregunta: ¿por qué se necesita mucho tiempo para actualizar el ícono de estado? A veces se vuelve muy confuso.

Recientemente comencé a trabajar en varios proyectos de C # en Visual Studio como parte de un plan para un sistema a gran escala que se utilizará para reemplazar nuestro sistema actual, que se creó a partir de un conjunto de varios programas y scripts escritos en C y Perl. Los proyectos en los que ahora estoy trabajando han alcanzado una masa crítica por estar comprometidos con la subversión. Me preguntaba qué se debe y qué no se debe comprometer con el repositorio de proyectos de Visual Studio. Sé que va a generar varios archivos que no son más que artefactos de construcción y que realmente no necesitan comprometerse, y me preguntaba si alguien tenía algún consejo para usar SVN correctamente con Visual Studio. Por el momento, estoy usando un servidor SVN 1.6 con beta de Visual Studio 2010. Cualquier consejo, opiniones son bienvenidas.


Incluiría manualmente todos los archivos que creo que no debería controlar la versión.

Mi patrón de ignorar global es:

.dll .pdb .exe .cache .webinfo .snk bin obj debug _Resharper .user resharper


Nivel de solución:

  • agregue el .sln solución .sln
  • ignorar el archivo de opciones de usuario de la solución .suo

Nivel del proyecto:

  • agregar los .csproj , .vbproj (y c ++ proj?)
  • ignorar los archivos .csproj.user , .vbproj.user
  • ignorar el directorio bin
  • ignorar el directorio obj
  • ignorar cualquier archivo / directorio que se genere durante el tiempo de ejecución (es decir, registros)

Si usa complementos VS, pueden generar archivos que también necesitan ignorar (es decir, ReSharper genera archivos .resharper y .resharper.user ).

Los elementos de ignorar pueden ser ignorados explícitamente por nombre de archivo (es decir, MyProject.csproj ) o por un patrón de comodín (es decir, *.csproj.user ).

Una vez que haya configurado su ignorar, revisando una copia limpia de su fuente, la compilación no debe mostrar modificaciones (es decir, no hay nuevos archivos no versionados).


Pon los siguientes archivos en control de versión:

  • .dsw (espacio de trabajo VS6)
  • .dsp (proyecto VS6)
  • .sln (VS Solution)
  • . * proj (archivos VS Project de varios tipos)
  • por supuesto, sus archivos de origen y otros artefactos que crea

No ponga los siguientes archivos en el control de la versión:

  • .ncb (algo relacionado con la navegación o intelsense)
  • .suo (configuración del espacio de trabajo del usuario, como colocación de ventanas, etc., creo)
  • .user (configuración de proyecto de usuario como puntos de interrupción, etc., creo)

Además, no coloque ningún archivo de objeto, ejecutable o autogenerado (como los encabezados que podrían generarse).

En cuanto a los archivos ejecutables y otros archivos generados, puede haber una excepción si desea poder archivarlos. Puede ser una buena idea, pero es probable que desee administrarlo de forma un poco diferente y posiblemente en un lugar diferente al código fuente. Si haces esto, también archiva tus archivos .pdb para que puedas depurar las cosas más tarde. Es posible que desee utilizar un Servidor de símbolos para almacenar sus símbolos archivados (consulte Herramientas de depuración para Windows para el servidor de símbolos y su documentación).

Aquí está mi lista de archivos específicos de VS que excluyo de SVN:

Ankh.Load *.projdata *.pdb *.positions *proj.user *proj.*.user *.ncb *.suo *.plg *.opt *.ilk *.pch *.idb *.clw *.aps


Sugeriría usar AnkhSVN - un complemento de control de fuente de Subversion para Visual Studio 2008/2010.

Puede usarlo para realizar su adición inicial y confirmar la solución, los proyectos y las fuentes en el repositorio y no agregará ninguno de los artefactos de compilación. No agregará nada que genere su compilación, solo los archivos a los que hace referencia su solución. Si hay otras partes y piezas que necesita que no están en su solución, puede agregarlas después.



De acuerdo con MSDN :

Puede agregar los siguientes archivos al control de fuente de Visual Studio:

  • Archivos de solución ( *.sln ).
  • Archivos de proyecto, por ejemplo, *.csproj , *.vbproj .
  • Archivos de configuración de aplicaciones, basados ​​en XML, utilizados para controlar el comportamiento en tiempo de ejecución de un proyecto de Visual Studio.

Los archivos que no puede agregar al control de fuente incluyen lo siguiente:

  • Archivos de opciones de usuario de solución ( *.suo ).
  • Archivos de opción de usuario del proyecto, por ejemplo, *.csproj.user , *.vbproj.user .
  • Archivos de información web, por ejemplo, *.csproj.webinfo , *.vbproj.webinfo , que controlan la ubicación raíz virtual de un proyecto web.
  • Cree archivos de salida, por ejemplo, archivos *.dll y *.exe .