Quelle est la différence entre Build Solution, Rebuild Solution et Clean Solution dans Visual Studio?
Quel est le moment approprié pour utiliser chacun d'eux?
visual-studio
Fawa
la source
la source
Réponses:
(Les liens sont vers les commutateurs de ligne de commande devenv.exe , mais ils font la même chose que les éléments de menu.)
la source
.gitignore
fichier décent . Mais selon la réponse, Clean ne fait pas toujours un travail particulièrement approfondi d'après mon expérience.Solution de compilation: compile les fichiers de code (DLL et EXE) qui sont modifiés.
Reconstruire: supprime tous les fichiers compilés et les recompile à nouveau, que le code ait changé ou non.
Solution propre: supprime tous les fichiers compilés (fichier DLL et EXE).
Vous pouvez voir cette vidéo YouTube ( Visual Studio Build vs Rebuild vs. Clean (questions d'entrevue C # avec réponses) ) où j'ai démontré les différences et ci-dessous sont des représentations visuelles qui vous aideront à analyser la même chose plus en détail.
La différence entre Reconstruire et (Nettoyer + Construire), car il semble également y avoir une certaine confusion à ce sujet:
La différence réside dans la façon dont la séquence de génération et de nettoyage se produit pour chaque projet. Supposons que votre solution comporte deux projets, «proj1» et «proj2». Si vous faites une reconstruction, il faudra «proj1», nettoyez (supprimez) les fichiers compilés pour «proj1» et compilez-le. Après cela, il faudra le deuxième projet «proj2», nettoyer les fichiers compilés pour «proj2» et compiler «proj2».
Mais si vous effectuez un «nettoyage» et une construction », il supprimera d'abord tous les fichiers compilés pour« proj1 »et« proj2 », puis il créera« proj1 »d'abord suivi de« proj2 ».
la source
Tiré de ce lien :
la source
Build Solution - Génère tous les assemblys qui ont modifié des fichiers. Si un assemblage n'a pas de modifications, il ne sera pas reconstruit. Ne supprimera également aucun fichier intermédiaire.
Utilisé le plus souvent.
Solution de reconstruction - Reconstruit tous les assemblys indépendamment des modifications, mais laisse les fichiers intermédiaires.
Utilisé lorsque vous remarquez que Visual Studio n'a pas incorporé vos modifications dans le dernier assembly. Parfois, Visual Studio fait des erreurs.
Clean Solution - Supprimez tous les fichiers intermédiaires.
Utilisé lorsque tout le reste échoue et que vous devez tout nettoyer et recommencer à zéro.
la source
Je pense juste à Rebuild comme exécutant le Clean en premier, suivi de Build. Peut-être que je me trompe ... des commentaires?
la source
file reference
au lieu d'unproject reference
afin que l'ordre de construction du projet ne reconnaisse pas qu'il devait construire un certain projet avant un autre, et l'assembly n'existait pas là où il devrait avoir pendant la construire?Build Solution - Génère tous les assemblys qui ont modifié des fichiers. Si un assemblage n'a pas de modifications, il ne sera pas reconstruit. Ne supprimera également aucun fichier intermédiaire.
La reconstruction de la solution nettoiera puis créera la solution à partir de zéro, ignorant tout ce qui a été fait avant
Clean Solution supprimera tous les fichiers compilés (ie, EXE et DLL) du répertoire bin / obj.
la source
Build solution créera tous les projets de la solution qui ont changé. Reconstruire construit tous les projets, quelle que soit la solution, la solution propre supprime tous les fichiers temporaires, garantissant que la prochaine génération est terminée.
la source
Build Solution - Build solution construira votre application avec la construction du nombre de projets qui ont un changement de fichier. Et il n'efface aucun fichier binaire existant et remplace simplement les assemblys mis à jour dans le dossier bin ou obj.
Solution de reconstruction - La solution de reconstruction construira votre application entière avec la construction de tous les projets disponibles dans votre solution avec leur nettoyage. Avant de le construire, il efface tous les fichiers binaires du dossier bin et obj.
Solution propre - La solution propre efface simplement tous les fichiers binaires du dossier bin et obj.
la source
Créer une solution
Cela effectuera une construction incrémentielle. En d'autres termes, il ne construira que des fichiers de code qui ont changé. S'ils n'ont pas changé, ces fichiers ne seront pas touchés.
Reconstruire la solution
Cela supprimera tous les fichiers actuellement compilés (ie, exe et DLL) et construira tout à partir de zéro, qu'il y ait ou non un changement de code dans le fichier.
Menu de solution propre
Ce menu supprimera tous les fichiers compilés (c'est-à-dire les EXE et DLL) du répertoire bin / obj.
Reconstruire = nettoyer + construire
la source
La principale chose que je pense que les gens oublient est que la construction et le nettoyage sont deux tâches qui sont effectuées en fonction de la connaissance que Visual Studio a de votre projet / solution. Je vois beaucoup de gens se plaindre que Clean ne fonctionne pas ou laisse des fichiers restants ou n'est pas digne de confiance, alors qu'en fait, les raisons pour lesquelles vous dites qu'il n'est pas digne de confiance le rendent en fait plus digne de confiance.
Clean ne supprimera (nettoiera) que les fichiers et / ou répertoires que Visual Studio ou le compilateur eux-mêmes ont en fait créés. Si vous copiez vos propres fichiers ou que les structures de fichiers / dossiers sont créées à partir d'un outil ou d'une source externe, Visual Studio ne "sait pas qu'elles existent" et ne doit donc pas les toucher.
Pouvez-vous imaginer si l'opération de nettoyage a essentiellement effectué un "del *. *"? Cela pourrait être catastrophique.
Build effectue une compilation sur les projets modifiés ou nécessaires.
Reconstruire effectue une compilation indépendamment du changement ou de ce qui est nécessaire.
Clean supprime les fichiers / dossiers qu'il a créés dans le passé, mais laisse tout ce dont il n'avait rien à faire, au départ.
J'espère que cela élabore un peu et aide.
la source
J'ai aa solution blanc
BuildRebuildClean
et trois bibliothèque de classesModels
,Repository
,Notification
.J'utilise
Models
etRepository
enNotification
bibliothèque de classe.Alors:
Models
projet de bibliothèque, alors CONSTRUISEZ la solution. Dans la capture d'écran ci-dessous, reportez-vous à l'horodatage de DLL, EXE est mis à jour dansModels
etNotification
bibliothèque.BuildRebuildClean
. Il supprime tous les assemblys, EXE et fichiers référencés à recompiler.la source
Tout ce que je sais, c'est qu'un nettoyage ne fait pas ce que "nettoyer" utilisé auparavant - si je nettoie une solution, je m'attendrais à ce qu'elle supprime les fichiers / dossiers obj et bin de telle sorte qu'elle se construit comme si c'était une nouvelle vérification de la source. Dans mon expérience, bien que je trouve souvent des moments où un nettoyage et une construction ou une reconstruction génèrent toujours des erreurs étranges sur la source qui est connue pour être compilée et ce qui est requis est une suppression manuelle des dossiers bin / obj, puis il se construira.
la source
Build solution crée uniquement les projets qui ont changé dans la solution et n'affecte pas les assemblys qui n'ont pas changé,
ReBuild nettoie d'abord tous les assemblys de la solution, puis crée la solution entière indépendamment des modifications apportées.
Nettoyez, nettoie simplement la solution.
la source
Clean + Build
.Il s'agit uniquement de l'option "Build Solution".
J'en ai eu marre de l'incapacité de Visual Studio à vraiment nettoyer les solutions et j'ai écrit ce petit outil qui le fera pour vous.
Fermez d'abord votre solution dans VS et faites glisser son dossier depuis l'Explorateur Windows dans cette application ou dans son icône. Selon le paramètre en bas de sa fenêtre, il peut également supprimer des éléments supplémentaires, qui vous aideront si vous essayez de télécharger manuellement votre solution sur GitHub ou de la partager avec quelqu'un d'autre:
En un mot, il placera tous les dossiers "Debug", Intellisense et autres caches qui peuvent être reconstruits par VS dans la corbeille pour vous.
la source