Option «Solution propre» de Visual Studio (2008)

Réponses:

109

Il supprime tous les fichiers compilés et temporaires associés à une solution. Cela garantit que la prochaine version est complète, plutôt que de recompiler uniquement les fichiers modifiés.

David Arno
la source
3
Alors, quelle est la différence entre "Build" et "Rebuild All?"
Chad
2
Imaginez une solution avec 3 projets. Build ne compile que les projets qui ont changé depuis la dernière build. Reconstruire, compile tout.
BigJump
18
Rebuild Solution est-il essentiellement identique à l'exécution de Clean Solution, puis à Build Solution?
Joey Green
5
Rebuild Solution effectue-t-il réellement un nettoyage avant la construction, ou construit-il simplement tout comme si un nettoyage avait été effectué en premier?
Homer
2
@JoeyGreen Non. Si vous nettoyez et construisez la solution, elle nettoie d'abord tous les projets, puis génère tous les projets. Si vous reconstruisez, il faut un projet à la fois, le nettoyer et le construire. Une fois, j'ai rencontré un problème étrange en utilisant Rebuild au lieu de Clean & Build, car certaines dépendances de projet ...
relaxxx
61

Il supprime tout le code objet généré lors de la compilation / construction précédente. Il supprime tous les types de fichiers ci-dessous: -

* .obj - code objet

* .pdb - fichier de base de données de débogage du programme

* .bsc - base de données du navigateur source

* .ilk - fichier de l'éditeur de liens incrémentiel

* .sbr - fichier intermédiaire du navigateur source

* .idb - reconstruit le fichier de dépendance

* .lib - fichier de bibliothèque

* .exe - exécutable

JFYI - Même une commande Rebuild All fera tout cela, puis construira l'ensemble complet des fichiers source.

-UN D

doré
la source
11

Je voulais que ce soit un commentaire, mais j'ai apparemment besoin de 50 représentants.

Pour avertir les autres, je trouve que la solution de reconstruction ne nettoie pas moi-même. Je n'ai souvent pas besoin de le nettoyer et de le construire / le reconstruire après pour que cela fonctionne - je pense que reconstruire il oblige à une compilation complète sans nettoyage et remplace tout, mais ne supprime pas les extras.

Je n'ai pas examiné ce que la reconstruction fait du code, juste une observation générale au cas où quelqu'un d'autre aurait le même problème.

Charles
la source
2
Je suis d'accord avec cette déclaration - j'ai vu ce comportement à plusieurs reprises où un nettoyage avant une reconstruction est nécessaire
Swordblaster
5

C'est un ancien article, mais je pensais que cela valait la peine d'être mentionné. Lors du codage pour Silverlight, j'ai généralement Blend et VS2010 ouverts en même temps. À cause de cela, parfois VS2010 panique et IntelliSense ne peut pas trouver où se trouvent des choses ou quelque chose, ce qui le met en évidence à tort de nombreuses erreurs.

Le nettoyage de la solution résout ce problème.

Lordcheeto
la source
4

Efface les fichiers créés pendant le processus de compilation. Force effectivement une recompilation / compilation complète la prochaine fois.

Brian Knoblauch
la source
2

attention lorsque vous nettoyez une solution; lorsque vous nettoyez une solution et si vous faites référence à une bibliothèque (disons nhibernate) dans votre projet et si cette bibliothèque a une dépendance (disons iesi.collections), alors vous verrez que iesi.collections sera supprimé même si vous avez reconstruit le solution et vous devez à nouveau mettre cette DLL dans votre dossier. ou vous pouvez également faire référence à iesi.collections et choisir l'option copy-local: yes dans ses propriétés

ersanbilik
la source
5
Cela ne devrait pas être un problème si vous déplacez toutes vos bibliothèques vers un dossier spécifique autre que 'Bin' et / ou utilisez NuGet
bbqchickenrobot
sûr que ce n'est pas le cas, mais il est généralement situé dans le dossier bin (vous pouvez essayer d'obtenir fluentnhibernate via nuget et iesi.collections n'est pas là)
ersanbilik
0

Pour info, ni Clean ni Rebuild ne supprimeront les fichiers non construits, par exemple les fichiers copiés lors d'une commande de pré-construction. J'étais confus à ce sujet!

AnneTheAgile
la source