web-dev-qa-db-fra.com

Visual Studio incroyablement lent lors du changement de nom de fichiers

J'ai une solution de taille moyenne avec 99 projets qui a récemment commencé à se comporter bizarrement: 

1) Si j'essaie de renommer un fichier à l'aide de l'explorateur de solution, VS va apparemment se bloquer, mais après une longue période (10 minutes ou plus), l'opération de renommage sera complétée. 

2) J'ai également remarqué aujourd'hui que le passage du mode Debug au mode Release semble également geler VS. Jusqu'ici, je ne l'ai pas laissé courir assez longtemps pour voir si cela se termine réellement.

J'ai essayé à la fois Visual Studio 2012 et 2013, et les deux présentent le même problème. Cela semble donc indiquer que le problème pourrait ne pas concerner Visual Studio. J'ai essayé de vérifier dans le journal des événements s'il y avait quelque chose, mais rien ne m'a sauté aux yeux. J'ai également redémarré et lancé checkdisk, mais rien n'a été trouvé de mal.

Exécution de Windows 7 Professionnel sur un ordinateur portable assez sophistiqué avec 8 Go RAM et un nouveau SSD

Mise à jour: apparemment, si j'ai renommé un fichier une fois, je peux continuer à le renommer immédiatement (ainsi que d'autres fichiers de la solution). Quand je redémarre VS, c'est encore lent. 

Update2: J'ai laissé l'ordinateur fonctionner toute la nuit pour essayer de passer de Debug à Release, et il a réussi à le faire en 14 heures entre mon départ et mon retour au travail.

33
Petter Brodin

Lors du test, j'avais tenté de configurer l'un des projets pour qu'il soit basé sur un serveur différent, en mode débogage et en mode libération. Je pensais que j'avais nettoyé les deux, mais apparemment je ne l'avais fait que sous la configuration Debug.

Apparemment, en attendant, ce serveur a décidé de détester ma machine, ce qui la fige en l'attendant.

La fermeture de Visual Studio et la modification manuelle du fichier .csproj ont résolu le problème.

1
Petter Brodin

Le renommage de fichiers par Visual Studio peut être extrêmement lent si vous utilisez TFS avec un espace de travail "local", par opposition à un espace de travail "serveur", et que le nombre total de fichiers comprenant différentes versions dans le référentiel TFS dépasse 10 000 éléments.

Contrairement à la recommandation de Microsoft, je suggère d'utiliser un espace de travail serveur plutôt qu'un espace local pour de bien meilleures performances. Il existe également d'autres inconvénients aux espaces de travail locaux et le seul avantage est de pouvoir travailler pendant que votre référentiel TFS est en panne. Si vous ne pouvez pas vous connecter à TFS, vous ne pourrez probablement pas vous connecter à votre réseau local et vous aurez très peu de travail à faire dans ce cas.

Pour passer à un espace de travail serveur pour TFS dans Visual Studio 2015,

  1. Sous VS, cliquez sur Fichier -> Contrôle de la source -> Avancé -> Espaces de travail.

  2. Dans la boîte de dialogue qui s'ouvre, sélectionnez votre espace de travail et cliquez sur Modifier ...

  3. Cliquez sur Avancé ... (le mappage sélectionné n'a pas d'importance).

  4. Sous Emplacement, sélectionnez Serveur, puis appuyez sur OK.

Le basculement sur le serveur peut prendre dix minutes ou plus selon la taille de votre référentiel.

Une fois que cela est fait, renommer les fichiers devrait être presque instantané.

20
Daniel Barbalace

Malheureusement, 99 projets n’est pas une solution de taille moyenne pour Visual Studio, mais une très grande solution. Visual Studio ne s'adapte tout simplement pas bien aux solutions de cette taille et vous en voyez les effets ici. 

La seule façon d'améliorer cela consiste à intégrer votre solution à plusieurs solutions plus petites. 

1
JaredPar

S'appuyant sur la réponse de @Daniel Barbalace, mon problème avait bien à voir avec TFS, mais je ne pouvais pas passer aux espaces de travail du serveur. Ce que j'ai fini par faire, c’est de supprimer les correspondances de toutes les branches ou de tous les projets sur lesquels je ne travaille pas pour le moment. Il n’ya pas de nombre magique, mais j’ai semblé avoir jusqu’à 50 000 fichiers (globalement pour le dossier TFS), le changement de nom a été soudainement passé de 2 minutes à 3-5 secondes. 

0
J. Spiteri