J'ai récemment commencé à travailler sur divers projets C# dans Visual Studio, dans le cadre d'un plan pour un système à grande échelle qui sera utilisé pour remplacer notre système actuel qui est construit à partir d'un rassembler de rassembler les divers programmes et de scripts écrits en C et Perl. Les projets que je suis en train de travailler sur ont atteint la masse critique pour être engagé à la subversion. Je me demandais ce qui devrait et ne devrait pas être engagé dans le référentiel pour les projets Visual Studio. Je sais que cela va générer différents fichiers qui sont juste à l'accumulation des artefacts et n'avez pas vraiment besoin d'être commis, et je me demandais si quelqu'un avait des conseils pour la bonne utilisation de SVN avec Visual Studio. Pour le moment, je suis en utilisant un SVN 1.6 serveur avec Visual Studio 2010 beta. Tous les conseils, les avis sont les bienvenus.
Réponses
Trop de publicités?Vous pouvez ajouter les fichiers suivants à Visual Studio de contrôle à la source: * Solution les fichiers (*.sln). * Les fichiers de projet, par exemple, *.csproj, *.les fichiers vbproj. * Fichiers de configuration d'Application, basé sur XML, utilisé pour le contrôle d'exécution comportement d'un projet Visual Studio. Les fichiers que vous ne pouvez pas ajouter à la source sont les suivants: * La Solution de l'utilisateur de l'option fichiers (*.suo). * Projet de l'utilisateur des fichiers d'options, par exemple, *.csproj.l'utilisateur, *.vbproj.les fichiers de l'utilisateur. * Site Web de fichiers de renseignements, par exemple, *.csproj.webinfo, *.vbproj.webinfo, qui contrôle la racine virtuelle emplacement d'un projet Web. * Construire des fichiers de sortie, par exemple, *.dll et *.les fichiers exe.
Je conseille AnkhSVN - une Subversion de contrôle de la source du plugin pour Visual Studio 2008/2010.
Vous pouvez l'utiliser pour effectuer votre initiale d'ajouter et de validation de la solution, les projets et les sources de l'référentiel et il ne sera pas ajouter de la construction d'artefacts. Il ne sera pas ajouter quoi que ce soit qui est généré par la construction, seuls les fichiers qui sont référencées par votre solution. Si il y a d'autres pièces et de morceaux vous avez besoin qui ne sont pas dans votre solution, vous pouvez les ajouter par la suite.
Mettre les fichiers suivants dans le contrôle de version:
- .dsw (VS6 de l'espace de travail)
- .dsp (VS6 projet)
- .sln (VS)
- .*proj (VS les fichiers de Projet de types différents)
- bien sûr, vos fichiers source et les autres objets que vous créez
Ne pas mettre les fichiers suivants dans le contrôle de version:
- .la pne (quelque chose à voir avec la navigation ou de l'intellsense)
- .suo (espace de travail utilisateur paramètres de la fenêtre de placement, etc - je pense)
- .utilisateur (paramètres du projet, comme les points d'arrêt, etc - je pense)
Aussi, ne pas les mettre dans des fichiers de l'objet, les exécutables, les fichiers automatiquement créés (comme les en-têtes qui peuvent être générés).
Comme pour les exécutables et les autres fichiers générés - il pourrait y avoir une exception si vous voulez être en mesure d'archives de presse. Cela pourrait être une bonne idée, mais vous aurez probablement envie de gérer un peu différemment et peut-être dans un endroit différent de votre code source. Si vous faites cela, l'archivage de vos .fichiers pdb de sorte que vous pouvez déboguer les choses plus tard. vous pouvez utiliser un Serveur de Symbole de magasin, vous archivé symboles (voir les Outils de Débogage pour Windows pour le serveur de symbole et de sa documentation).
Voici ma liste de VS fichiers spécifiques que j'ai exclure de SVN:
Ankh.Load
*.projdata
*.pdb
*.positions
*proj.user
*proj.*.user
*.ncb
*.suo
*.plg
*.opt
*.ilk
*.pch
*.idb
*.clw
*.aps
Le niveau de la Solution:
- ajouter l'
.sln
fichier de solution - ignorer l'
.suo
solution d'options de l'utilisateur du fichier de
Au niveau du projet:
- ajouter l'
.csproj
,.vbproj
(et c++ proj?) fichiers - ignorer l'
.csproj.user
,.vbproj.user
fichiers - ignorer l'
bin
annuaire - ignorer l'
obj
annuaire - ignorer tous les fichiers/répertoires qui se produit au cours de l'exécution (c'est à dire. les journaux)
Si vous utilisez et VS addins, ils peuvent générer des fichiers qui doivent aussi ignorant (ie. ReSharper génère .resharper
et .resharper.user
fichiers).
Ignorer les éléments peuvent être ignorés explicitement par nom de fichier (c'est à dire. MyProject.csproj
), ou par un modèle générique (c'est à dire. *.csproj.user
).
Une fois que vous avez votre ignore mis en place, de vérifier une copie propre de votre source de construire doit alors indiquer qu'aucune modification (ie. pas de nouveaux fichiers non versionnés).