Solution de recharge automatique de Visual Studio 2010 lorsque les fichiers du projet changent

sur le projet en cours sur lequel je travaille, il y a, en ce moment, un grand roulement de code, ce qui signifie que la mise à jour à partir du contrôle source peut signifier parfois beaucoup de changements de fichiers csproj. Comme nous le savons tous, VS2010 n'a pas de bouton" Recharger tout", mais vous devez recharger chaque projet et confirmer chaque rechargement.

Existe-t-il une méthode où soit le projet est auto-rechargé, soit L'IDE peut le détecter et demander une solution rechargée?

28
demandé sur Ray Booysen 2011-01-26 12:00:44

4 réponses

Enfin trouvé une solution:

http://lostechies.com/jimmybogard/2011/01/27/reloading-all-projects-with-vscommands/

citation du site:

très souvent je me retrouve à travailler dans les situations où plusieurs projets ont changé, et Visual Studio demande pour recharger, un à la fois. Ce ça arrive quand je travaille beaucoup avec contrôle à la source, et faire des choses comme changer de branche, effectuer des fusions, ou simplement intégrer des changements en amont. Je dois cliquer sur "Recharger" un million fois pour chaque projet qui a changé sur le disque, et c'est assez ennuyeux. Sur le dessus de cela, VS oublie quels fichiers j'ai ouvrir, donc chaque fichier que je travaillais sur se ferme.

j'ai peut-être la dernière VS utilisateur à trouver à ce sujet, mais une version gratuite de VSCommands plugin disponible sur la Galerie Visual Studio qui ne juste ce que j'ai besoin de recharger tout a changé projets à la fois, en préservant ce qui fichiers que j'avais ouverts:

29
répondu Ray Booysen 2013-01-28 11:10:14

c'est une douleur, mais la meilleure option que j'ai trouvée est de fermer la solution avant d'obtenir le dernier code source.

S'il y a plus de deux projets modifiés, il est plus rapide de décharger et recharger manuellement le solution entière qu'il est pour obtenir et attendre qu'il décharge et recharger les projets affectés seulement - recharger les projets est terriblement lent (même sans tenir compte de devoir cliquer sur le bouton OK pour chaque projet qui a changé).

(Dans mon esprit, la vraie question is: pourquoi pose-t-il cette question??? Si vous Obtenez le dernier code source, il y a absolument aucune raison saine pour laquelle vous voudriez utiliser seulement une partie de lui. C'est comme un pompiste qui dit: "vous avez acheté du carburant. Vous voulez que je le mette dans votre voiture, ou je le verse par terre?")

4
répondu Jason Williams 2011-01-26 09:42:20

Eh bien, cela ne fonctionne pas si vos chemins de références ont changé dans le fichier csproj et que vous utilisez quelque chose comme les internes de sys outil de jonction pour changer un lien symbolique. Par exemple: interrupteurs à outils D:\Projects lien symbolique de D:\Baselines\1.0\Prjects pour D:\Baselines\2.0\Projects , et parce que quelqu'un a changé la structure du dossier entre 1.0 et 2.0, votre .le fichier csproj pointe soudainement le chemin dll à partir ....\Références\certains.dll pour ....\Références\3e Partie\certains.DLL. Je sais que c'est spécial cas, mais se produit (par exemple dans mon entreprise).

il existe cependant une solution alternative, que je recommande vivement car elle présente d'autres avantages, aussi: L'Extension pas si bien connue VS 2010 Solution Load Manager. Il reporte le chargement des projets à l'arrière - plan, ou jusqu'à chargement manuel, ce qui améliore considérablement le temps de chargement de la solution pour les gros fichiers de solution. Il a ce bouton "reload solution" dans son menu (malheureusement il semble qu'il n'y ait pas de raccourci) qui solutions à partir de zéro, en sautant/en chargeant le fond des solutions que vous avez définies. Un type de Microsoft a commenté sur son blog qu'ils voulaient inclure quelque chose de similaire dans VS 2010, mais la fonctionnalité n'a pas tout à fait fait fait.

bien sûr, cela peut prendre plus de temps qu'un "simple" clic et la mise à jour de 100 documents, mais cela a résolu mon problème de changements de chemin de référence (relatif), et donne un bon coup de pouce de vitesse à chaque fois que j'ouvre une solution au moins de taille moyenne.

éditer à partir D'octobre 2013 VS2012 inclut cette fonctionnalité par défaut. Au moins le chargement asynchrone. "Ne pas charger" fonctionnalité est malheureusement uniquement possible en utilisant le manuel de "décharger le projet" dans VS2012. Mais comme la consommation de mémoire du projet pr a baissé avec VS2012, ce n'est plus si important.

1
répondu hko 2013-10-15 07:38:42

si vous avez coché l'option " detect when file is changed outside the environment "dans la section" Documents " des options, les projets et les fichiers sont rechargés lorsqu'ils sont modifiés. Ça marche pour moi quand je change de branche en git.

VS option screenshot

-3
répondu CharlesB 2011-01-26 09:30:48