Dois-je ajouter le dossier Visual Studio 2015 .vs au contrôle de code source?

321

Visual Studio 2015 crée un nouveau dossier appelé ".vs". Quel est son objectif et dois-je l'ajouter au contrôle de code source?

SoftwareFactor
la source
Copie
Michael Freidgeim
2
@MichaelFreidgeim: Pas sûr, l'autre question porte sur un fichier spécifique et il s'agit de l'ensemble du dossier. Mais il arrive que certaines des réponses plus larges correspondent aux deux.
SoftwareFactor

Réponses:

338

Non, vous ne devez pas l'ajouter au contrôle de code source. Le but de ce dossier est de déplacer des fichiers spécifiques à la machine et à l'utilisateur vers un emplacement central. L'explication sur le problème de voix d'utilisateur Visual Studio l' explique bien:

Jusqu'à présent, nous avons déplacé le fichier .SUO et les fichiers de base de données du compilateur VB / C # IntelliSense vers le nouvel emplacement. Tous les nouveaux fichiers locaux spécifiques à un projet seront également ajoutés au nouvel emplacement. Nous prévoyons d'aller encore plus loin dans les versions futures et étudions comment améliorer la structure de répertoires des sorties de génération et d'autres fichiers existants qui peuvent encombrer l'arborescence source.

Ce sont tous des fichiers que vous ne archiveriez jamais, car ils sont générés à partir d'une génération ou contiennent des informations spécifiques à l'ordinateur.

Patrick Quirk
la source
23
C'est une sorte de trait large que de ne pas archiver tout le dossier. Si votre site Web nécessite des configurations IIS Express spécifiques (comme l'utilisation d'un nom d'hôte pour que les cookies fonctionnent), vérifier l' applicationhost.configaide des autres développeurs dans la configuration de leur environnement, sinon chacun doit le faire lui-même et il le trouvera probablement à la dure. .
Mrchief
3
@Mrchief Je ne suis pas un développeur IIS, mais je pense que cette réponse répond à cela.
Patrick Quirk du
2
Cette réponse n'est vraiment pas une solution, plutôt une solution de contournement (à laquelle la réponse elle-même fait allusion). Ce que j'essayais de dire, c'est qu'une réponse binaire peut ne pas suffire à tout le monde. Selon votre configuration, vous devrez peut-être exclure le dossier, puis ajouter une exception pour le applicationhost.configfichier ou quelque chose à cet effet.
Mrchief
3
@Mrchief: En fait, ce n'est pas une solution de contournement, c'est la meilleure solution. Je ne pense pas que vous devriez jamais archiver le dossier .vs, ce n'est pas prévu.
DR
6
Comme l'indique la réponse citée de lugberk: "il n'y a aucun moyen de dire aux projets ASP.NET 5 de rechercher cela aujourd'hui". Pour cette raison, je ne vois aucune autre option pour partager ces paramètres de configuration IIS Express entre les projets ASP.NET 5 que celle de l'archivage du fichier applicationhost.config sous .vs. Ou voyez-vous une autre solution / meilleure?
Gustin
86

Github fournit beaucoup de modèles .gitignore. Dans leur modèle pour Visual Studio, ils ont ignoré le dossier .vs. Extrait du modèle sur github .

# Visual Studio 2015 cache/options directory
.vs/
crea1
la source
3
Cela peut aider quelqu'un à décider (paresseusement), mais ne donne pas de bons conseils ni aucune raison de le faire. Le titre («répertoire cache / options de Visual Studio 2015») aide davantage à décider.
Mohammad Dehghan
Soit dit en passant, la même ligne s'applique à .hgignore
Charles Burns
23

Comme décrit dans la citation tirée de uservoice dans la réponse de Patrick, le dossier n'est pas destiné au contrôle de code source.

toutefois comme le soulignent également les commentaires, il peut arriver que vous souhaitiez inclure des fichiers spécifiques du dossier.

J'ajouterais ceci à .gitignore:

.vs/

Ensuite, utilisez l'outil git que vous préférez pour ajouter certains fichiers comme une configuration partagée de l'applicationhost.config si nécessaire.

Ou utilisez une commande git comme celle-ci:

git add -f .vs/config/applicationhost.config

De cette façon, git ajoute le fichier, même s'il est ignoré.

Jim Wolff
la source
3
Je voudrais ajouter que si vous utilisez TFS, vous pouvez utiliser le préfixe de négation dans votre fichier .tfignore pour "ré-inclure" un fichier applicationhost.config après avoir exclu le dossier .vs. Le fichier .tfignore par défaut l'explique comme suit: "Le préfixe! Annule un modèle. Il peut être utilisé pour ré-inclure un élément après qu'il a été exclu par un fichier .tfignore plus haut dans l'arborescence ou par les exclusions globales de la Team Project Collection liste."
Aaron