web-dev-qa-db-fra.com

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 la version de 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 les projets, faire le débogage, etc. Plus précisément, il semble que ces fichiers provoquent des conflits du fait qu'ils sont déjà dans le référentiel. Je sais comment les sortir et comment les gérer, mais j'ai besoin de savoir ce qu'ils sont d'abord.

Alors, quels sont les fichiers/répertoires que Subversion peut ignorer, et pourquoi peuvent-ils être ignorés (aka. Que font ces fichiers?)

Il s'agit d'un grand site ASP.Net plutôt non organisé 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 ça)) le site au fur et à mesure que les fichiers changent doit être laissé dans le repo.

73
cdeszaq
  • répertoires bin et obj
  • * Fichiers .user (MyProject.csproj.user)
  • * Fichiers .suo

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

85
Shawn Miller

J'ai eu de la chance avec ce modèle global d'ignorance:

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

J'utilise le plugin Resharper, vous pouvez donc probablement l'ignorer. ". ~ m2" correspond à un fichier temporaire créé par mon modeleur de données.

Mise à jour: Merci pour le vote positif. J'ai récemment ajouté Mac, Dreamweaver, Python et quelques autres fichiers Visual Studio qui doivent ê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 archive accidentellement un dossier ou un fichier qui doit être ignoré, vous devrez supprimer manuellement les fichiers du référentiel avant que SVN ne recommence à les ignorer. En effet, les fichiers qui sont déjà dans le référentiel remplaceront tous les paramètres d'ignorance.

47
Jamison

Ancien 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
Nielsvh
  • *.poubelle
  • * .obj
  • *.EXE
  • * .dll
  • * .pch
  • *.utilisateur
  • * .suo
  • * .tlb
  • TestResults (répertoire de test unitaire VSTS)
7
JaredPar
  • Le répertoire 'bin' est un bon début (comme le dit @Kevin).
  • Vous feriez bien d'ignorer également le répertoire "obj".
  • * .suo et * .user devraient être exclus du contrôle des sources.
  • * .VisualState.xml sera également un choix personnel.
  • TestResults.xml (si vous utilisez NUnit)
6
Hamish Smith

Je pense qu'une meilleure question serait "Quels fichiers dois-je ajouter à 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.) Elle ne proposera alors que l'ajout de ces fichiers.

En tant qu'utilisateur, vous pouvez ajouter d'autres fichiers manuellement (ou marquer certains des fichiers suggérés comme ignorés), mais ce comportement le rend très facile à faire la bonne 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 fichier).

6
Bert Huijben

Voici mon ignorance globale de TortoiseSVN:

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

Les 3 dernières aides lorsque vous passez de Microsoft Visual SourceSafe.

4
Jimmy McNulty

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

3
scwagner

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

1
kemiller2002

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 que Resharper aime mettre ses fichiers .cache dans les mêmes dossiers que le code I travailler sur. De plus, je pense que personne n'a encore mentionné * .pdb.

1
mezoid

Je ne voudrais pas non plus archiver le fichier .SDF. Il est grand et Visual Studio le recréera s'il est manquant. C'est une base de données utilisée pour Intellisense pour autant que je sache.

1
Chris Bennet