web-dev-qa-db-fra.com

Comment arrêter Visual Studio de "toujours" extraire les fichiers de solution?

Apparemment sans raison, à chaque fois que j'ouvre ma solution, Visual Studio vérifie le fichier sln.

Si je le compare à la version précédente, il n'y a pas de changement. Mais c'est vraiment frustrant puisque tout le monde fait vérifier la solution.

J'utilise VS 2008 et TFS 2008, tous deux SP2.

Une idée sur la façon dont je peux empêcher que cela se produise? Ou bien est-ce une fonctionnalité/un bogue du fournisseur de contrôle de source TFS pour VS?

150
CodeClimber

Cela se produit lorsque les éléments suivants se trouvent dans le fichier .sln:

GlobalSection(ExtensibilityGlobals) = postSolution
    MyGlobalProperty = AnyValue
EndGlobalSection

J'ai trouvé que Enterprise Library en a ajouté un. Je l'ai enlevé, vérifié dans la solution, fermé, puis rouvert, et plus aucune extraction automatique.

120
Graham Clark

En mémoire, si vous utilisez le menu Outils, Options et sélectionnez le panneau Contrôle de la source, Environnements, quelques options vous permettant de configurer la manière dont IDE s'interface avec le contrôle de version.

Je pense que certaines de ces options contrôlent le comportement checkout on open.

6
jussij

Au cas où, comme moi, vous ne pouviez pas le faire fonctionner et que vous trouviez qu'un ou plusieurs projets étaient également vérifiés, j'ai trouvé une solution plus simple. Notez le (s) projet (s) qu’il vérifie en permanence. Accédez à Fichier - Contrôle de la source - Modifier le contrôle de la source, puis dissociez les projets en question. Cliquez sur OK, Enregistrer tout, puis revenez dans Modifier le contrôle de source et liez le projet à la solution. Espérons que cela fonctionnera pour les autres

5
user408720

Autoriser l'extraction, puis comparer les deux fichiers. Si VS ajoutait quelque chose comme

<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />

vous rencontrez un bogue VS avec une solution dans VS2008 mais non porté à VS2005

Vérifiez ce lien pour plus de détails:

3
Luis Filipe

Bien que n'empêchant pas le problème en premier lieu, une utilisation libérale de la commande Team Foundation Power Tools "Annuler", annulera l'édition en attente si aucune modification n'a été apportée.

3
Dave Roberts

Le fichier de solution Visual Studio est extrait en mode silencieux par le biais d'un ou de plusieurs projets de la solution utilisant Microsoft Enterprise Library. Je pense que cela a quelque chose à voir avec l'utilitaire de configuration de la bibliothèque d'entreprise qui permet la gestion de la configuration des différents blocs d'application - - http://msdn.Microsoft.com/en-us/library/ff649479.aspx

Consultez cette publication Microsoft Feedback: http://connect.Microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open

2
Nigel Belham

C'est une fonctionnalité/un bogue de l'un des systèmes de projet en cours de chargement dans la solution. Essayez de supprimer divers types de projets (C #, VB, C++, site Web, application Web, test unitaire, silverlight ...) jusqu'à ce que tout disparaisse. c'est ta réponse.

1
Richard Berg

Enregistrez-vous vos fichiers avant de faire la comparaison? Cela m'est arrivé il y a quelque temps et je répète qu'il n'y a pas de changement entre les fichiers, mais après un certain temps, je me suis rendu compte que je n'enregistrais pas les fichiers auparavant et que la comparaison était effectuée avec la version sur disque, pas avec la version en mémoire.

Chaque fois que vous ouvrez une solution dans Visual Studio, celle-ci effectue certaines opérations pouvant entraîner la modification de vos fichiers .sln ou de projet, puis il vous sera demandé d'extraire le fichier. Cela se produit lorsqu'il y a des modifications dans la structure des dossiers dans la machine des développeurs ou lorsqu'elles ne possèdent pas les mêmes versions de tous les fichiers. Peut-être que quelqu'un a ajouté un projet dans un dossier et qu'un autre développeur a le même projet à un autre endroit. Un autre cas que je constate est que lorsque nous avons une solution avec certains projets c ++, pour une raison quelconque, l'un de ces projets c ++ avait un fichier .res avec des chemins absolus. Une fois que ce fichier a été généré automatiquement par VS, il a conservé les modifications d’une machine de développement à une machine de développement.

Je vous suggère d'ouvrir votre fichier .sln et de rechercher des chemins absolus ou des chemins relatifs qui peuvent ne pas exister dans certaines machines de développement, en fonction des fichiers qu'ils obtiennent du contrôle de code source.

0
Carlos