Quels fichiers Visual Studio doivent être ignorés par subversion pour minimiser les conflits?

Je soutiens un certain nombre de développeurs.net qui utilisent Subversion pour contrôler leur travail, mais nous avons rencontré un certain nombre de problèmes qui semblent tourner autour des fichiers supplémentaires que Visual Studio utilise pour gérer des projets, faire du débogage, etc. Plus précisément, il semble que ces fichiers causent des conflits en raison du fait qu'ils sont déjà dans le repo. Je sais comment les sortir et comment les gérer, mais j'ai besoin de savoir ce qu'ils sont en premier.

Et alors les fichiers/répertoires que Subversion peut ignorer, et pourquoi peuvent-ils être ignorés?(aka. que ces fichiers?)

C'est un grand, plutôt non organisé ASP.Net site et le déploiement du site se fait via. SVN met à jour, donc les fichiers nécessaires à IIS pour compiler dynamiquement (je pense que c'est ce que c'est) le site comme les fichiers changent doit être laissé dans le repo.

70
demandé sur cdeszaq 2009-02-26 00:53:50

11 réponses

  • répertoires bin et obj
  • *.fichiers utilisateur (MyProject.csproj.utilisateur)
  • *.fichiers suo

En outre, si vous utilisez Visual Studio 2015 la .vs répertoire.

81
répondu Shawn Miller 2015-06-25 16:00:53

J'ai eu de la chance avec ce filtre d'exclusion:

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

J'exécute le plugin Resharper, donc vous pouvez probablement l'ignorer. ".~m2" est pour un fichier temporaire que mon modélisateur de données crée.

Mise à jour: Merci pour le vote. J'ai récemment ajouté Mac, Dreamweaver, Python et quelques autres fichiers Visual Studio qui devraient être ignorés.

*.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

Autre chose, si quelqu'un vérifie accidentellement dans un dossier ou un fichier qui doit être ignoré, alors vous devrez manuellement supprimez les fichiers du référentiel avant que SVN ne recommence à les ignorer. C'est parce que les fichiers qui sont déjà dans le repo remplaceront tous les paramètres ignorer.

46
répondu Jamison 2016-11-18 00:10:58
  • *.bin
  • *.obj
  • *.exe
  • *.dll
  • *.pch
  • *.utilisateur
  • *.suo
  • *.tlb
  • TestResults (répertoire de test unitaire VSTS)
8
répondu JaredPar 2009-02-25 22:06:33

Vieux thread, mais je veux ajouter que vous pouvez utiliser l'exemple gitignore de GitHub, trouvé ici , pour un bon point de départ.

## 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
répondu Nielsvh 2016-11-08 21:19:22
  • le répertoire ' bin ' est un bon début (comme @ Kevin dit).
  • vous feriez bien d'ignorer le répertoire' obj ' aussi.
  • *.suo et *.l'utilisateur serait mieux laissé hors du contrôle de la source.
  • *.VisualState.xml va être un choix personnel aussi.
  • TestResults.xml (si vous utilisez NUnit)
6
répondu Hamish Smith 2009-02-25 21:59:05

Je pense une meilleure question serait "Quels fichiers dois-je ajouter à la Subversion?"

L'intégration AnkhSVN 2.0 Subversion pose exactement cette question à tous les projets de votre solution. (Cette question Est l'un des éléments clés de la spécification SCC.) Il suggérera alors seulement d'ajouter ces fichiers.

Tant Qu'utilisateur, vous pouvez ajouter d'autres fichiers manuellement (ou la marque de certains des fichiers suggéré que ignorés), mais ce comportement rend très facile à faire le droit chose.

La plupart des autres clients subversion n'ont pas le luxe de parler à un système qui comprend vraiment ce qui devrait et ne devrait pas être ajouté. (Par exemple, les clients externes comme TortoiseSVN et ses frontends peuvent simplement deviner en fonction des extensions de fichiers).

6
répondu Bert Huijben 2009-02-26 00:10:19

Voici mon TortoiseSVN global ignore:

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

La dernière AIDE 3 lorsque vous passez de Microsoft Visual SourceSafe.

4
répondu Jimmy McNulty 2011-08-01 08:29:14

AnkhSVN fait un excellent travail en vérifiant uniquement les fichiers nécessaires au projet.

3
répondu scwagner 2009-02-26 15:42:04

Je dirais probablement n'importe quoi dans le répertoire bin.

1
répondu kemiller2002 2009-02-25 21:54:47

En plus de ceux que les gens ont suggérés ci-dessus, je dois souvent ignorer *.cache parce que pour une raison quelconque, Je ne sais pas si Resharper aime le mettre .cache les fichiers dans les mêmes dossiers que le code sur lequel je travaille. Aussi, je ne pense pas que quelqu'un ait mentionné *.apb encore.

1
répondu mezoid 2009-02-25 22:10:04

Je ne voudrais pas non plus vérifier dans le .Fichier SDF. C'est grand et Visual Studio le recréera s'il manque. C'est une base de données utilisée pour Intellisense pour autant que je sais.

1
répondu Chris Bennet 2015-12-18 14:33:31