¿Qué archivos de Visual Studio deben ser ignorados por subversion para minimizar los conflictos?


Estoy apoyando a varios desarrolladores de.Net que están usando Subversion para controlar su trabajo, pero nos hemos encontrado con una serie de problemas que parecen girar en torno a los archivos adicionales que Visual Studio usa para administrar proyectos, hacer depuración, etc. Específicamente, parece que estos archivos están causando conflictos debido al hecho de que ya están en el repositorio. Sé cómo sacarlos y cómo manejarlos, pero primero necesito saber qué son "ellos".

Entonces, qué son los archivos/directorios que Subversion puede ignorar, y por qué pueden ser ignorados?(aka. ¿qué hacen esos archivos?)

Este es un gran, bastante no organizado ASP.Net el sitio y la implementación del sitio se realiza a través. svn actualiza, por lo que los archivos necesarios por IIS para compilar dinámicamente (creo que eso es lo que es) el sitio a medida que cambian los archivos debe dejarse en el repositorio.

Author: cdeszaq, 2009-02-26

11 answers

  • directorios bin y obj
  • *.archivos de usuario (MyProject.csproj.usuario)
  • *.suo files

También, si está utilizando Visual Studio 2015 el .vs directorio.

 81
Author: Shawn Miller,
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-06-25 16:00:53

He tenido buena suerte con este patrón global de ignorar:

*bin *obj *suo *.user *.tmp *.TMP 
*resharper* *Resharper* *ReSharper* *.Load *.gpState 
Thumbs.db *.~m2

Estoy ejecutando el plugin Resharper, así que probablemente puedas ignorarlo. ".~m2 " es para un archivo temporal que crea mi modelador de datos.

Actualizar: Gracias por el voto. Recientemente he agregado Mac, Dreamweaver, Python y algunos archivos más de Visual Studio que deben ignorarse.

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp
*[Bb]in *obj *suo *resharp* *.user *.tmp *.TMP *Resharper*
*ReSharper* *.Load *.gpState *.NoLoad  *.~m2 *.dbmdl _notes *.cache
[Tt]est[Rr]esult [Bb]uild[Ll]og.* *.[Pp]ublish.xml *.[Cc]ache [Tt]humbs.db lint.db
*.docstates .apdisk [Ll]ogs .DS_Store *.bak *.vs

Algo más, si alguien comprueba accidentalmente en una carpeta o archivo que debe ignorarse, entonces tendrá que manualmente elimine los archivos del repositorio antes de que SVN comience a ignorarlos de nuevo. Esto se debe a que los archivos que ya están en el repositorio anularán cualquier configuración de ignorar.

 46
Author: Jamison,
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-11-18 00:10:58
  • *.bin
  • *.obj
  • *.exe
  • *.dll
  • *.pch
  • *.usuario
  • *.suo
  • *.tlb
  • Resultados de las pruebas (directorio de pruebas unitarias VSTS)
 8
Author: JaredPar,
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
2009-02-25 22:06:33

Hilo antiguo, pero quiero añadir que podrías usar el ejemplo de gitignore de GitHub, encontrado aquí, para un buen punto de partida.

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
*.vcxproj.filters

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

# Visual Studio 2015 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# NuGet v3's project.json files produces more ignoreable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# JetBrains Rider
.idea/
*.sln.iml

# CodeRush
.cr/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/
 8
Author: Nielsvh,
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-11-08 21:19:22
  • el directorio' bin ' es un buen comienzo (como @Kevin dice).
  • Haría bien en ignorar también el directorio 'obj'.
  • *.suo y *.es mejor dejar al usuario fuera del control de código fuente.
  • *.Estado visual.xml va a ser una elección personal también.
  • Resultados.xml (si estás usando NUnit)
 6
Author: Hamish Smith,
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
2009-02-25 21:59:05

Creo que una mejor pregunta sería "¿Qué archivos debo añadir a Subversion?"

La integración de Subversion AnkhSVN 2.0 hace exactamente esta pregunta a todos los proyectos de su solución. (Esta pregunta es una de las partes clave de la especificación SCC.) Entonces solo sugerirá agregar estos archivos.

Como usuario puede agregar otros archivos manualmente (o marcar algunos de los archivos sugeridos como ignorados), pero este comportamiento hace que sea muy fácil hacer el correcto cosa.

La mayoría de los otros clientes de subversion no tienen el lujo de hablar con un sistema que realmente entiende lo que debe y no debe añadirse. (Por ejemplo, los clientes externos como TortoiseSVN y sus interfaces pueden adivinar basándose en las extensiones de archivo).

 6
Author: Bert Huijben,
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
2009-02-26 00:10:19

Aquí está mi ignorar global de TortoiseSVN:

*.suo *.resharper *.sln bin obj *.user *.suo Debug Release *.pdb test.* _ReSharper*.* *.scc *.vssscc *.vspscc

Los últimos 3 ayudan cuando realiza la transición desde Microsoft Visual SourceSafe.

 4
Author: Jimmy McNulty,
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
2011-08-01 08:29:14

AnkhSVN hace un gran trabajo de solo comprobar los archivos que son necesarios para el proyecto.

 3
Author: scwagner,
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
2009-02-26 15:42:04

Probablemente diría cualquier cosa en el directorio bin.

 1
Author: kemiller2002,
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
2009-02-25 21:54:47

Además de los que la gente ha sugerido anteriormente, con frecuencia tengo que ignorar *.cache porque por alguna razón no sé Resharper le gusta poner es .caché de archivos en las mismas carpetas que el código en el que trabajo. Además, no creo que nadie haya mencionado *.pdb todavía.

 1
Author: mezoid,
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
2009-02-25 22:10:04

Tampoco me registraría en el .Archivo SDF. Es grande y Visual Studio lo recreará si falta. Es una base de datos usada para Intellisense que yo sepa.

 1
Author: Chris Bennet,
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-12-18 14:33:31