1207 votes

La différence entre la construction de la Solution, la Reconstruction de la Solution, et de Nettoyer la Solution dans Visual Studio?

Quelle est la différence entre la construction de la Solution, la Reconstruction de la Solution, et de Nettoyer la Solution dans Visual Studio?

Quel est le moment approprié pour utiliser chacun de ces?

996voto

Jon Skeet Points 692016
  • Générer la solution permettra d'effectuer des sauvegardes incrémentales construire: s'il n'a pas pense qu'il est nécessaire pour reconstruire un projet, il ne sera pas. Il peut également utiliser partiellement construit bits du projet si ils n'ont pas changé (je ne sais pas dans quelle mesure il prend ce)
  • Régénérer la solution permettra de nettoyer et ensuite construire la solution à partir de zéro, en ignorant tout ce qu'il fait avant
  • Nettoyer la solution va supprimer l'accumulation d'objets de la version précédente. Si il y a d'autres fichiers dans les répertoires cibles (bin et obj) ils ne peuvent être enlevés, mais réelle de construire des artefacts. J'ai vu le comportement de cette variable: parfois, supprimer de manière assez complète et parfois non, mais je vais VS donner le bénéfice du doute pour le moment :)

(Les liens sont à la devenv.exe commutateurs de ligne de commande, mais ils font la même chose que les éléments du menu.)

484voto

Shivprasad Koirala Points 1327

Générer la solution :- Compile les fichiers de code ( DLL et Exe) qui sont modifiées.

Reconstruire :- Supprime le tout compilé déposées et les Compile à nouveau indépendamment de si le code a changé ou pas.

Nettoyer la solution :- Supprime tous les fichiers compilés ( DLL et Exe).

Vous pouvez voir cette vidéo sur youtube ( http://www.youtube.com/watch?v=4UlGXNbfWr8 ) où j'ai montré les différences et ci-dessous sont la représentation visuelle qui vous aidera à analyser de la même façon plus détaillée.

Build Vs Rebuild

Juste en ajoutant plus à cette réponse, la différence entre Reconstruction de vs ( Clean + Build) car il semble y avoir une certaine confusion autour de ce.

La différence est la manière de la construire et de la séquence de nettoyage qui se passe pour chaque projet. Disons que si votre solution a deux projets "proj1" et "proj2". Si vous faites une reconstruction, il faudra "proj1" , nettoyer ( supprimer) les fichiers compilés pour "proj1" et de le construire. Après cela, il va prendre le second projet "proj2" , nettoyer les fichiers compilés pour "proj2" et la compilation "proj2".

Mais si vous faites un "propre" et de construire". Il va d'abord supprimer tous les fichiers compilés pour "proj1" et "proj2" et puis il va se construire "proj1" en premier, suivi par "proj2".

Rebuild Vs Clean

152voto

Matthew Jones Points 13864

Prises à partir de ce lien:

Construire des moyens de compiler et lier uniquement les fichiers source qui ont changé depuis la dernière génération, tout Reconstruire signifie compiler et lier toutes les sources les fichiers indépendamment du fait qu'ils changé ou pas. Construire, c'est la normale chose à faire est donc plus rapide. Parfois les versions de la cible du projet les composants peuvent sortir de la synchronisation et de la reconstruire est nécessaire pour que le build couronnée de succès. Dans la pratique, vous n'avez jamais besoin de Nettoyer.

49voto

Justin Niessner Points 144953

Générer la Solution - crée les assemblées qui ont changé de fichiers. Si l'assemblée n'a pas de changements, il ne sera pas re-construit. Aussi ne supprimera pas les fichiers intermédiaires.

Les plus couramment utilisés.

Régénérer la Solution - Reconstruit toutes les assemblées, peu importe les changements, mais laisse les fichiers intermédiaires.

Utilisé quand vous remarquez que Visual Studio n'a pas de tenir compte de vos modifications dans la dernière assemblée. Parfois, Visual Studio ne faire des erreurs.

Nettoyer la Solution - pour Supprimer tous les fichiers intermédiaires et la reconstruction de tous les assemblages, peu importe les changements

Utilisé quand tout le reste échoue et que vous avez besoin pour nettoyer le tout et recommencer à zéro.

19voto

Ken Richards Points 886

Je pense juste que de Reconstruire que l'exécution de la Nettoyer d'abord, suivie par la génération. Peut-être que je me trompe ... des commentaires?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X