Quelle est la différence entre Build Solution, Rebuild Solution et Clean Solution dans Visual Studio?
Quand est-il approprié d'utiliser chacune de ces commandes?
Quelle est la différence entre Build Solution, Rebuild Solution et Clean Solution dans Visual Studio?
Quand est-il approprié d'utiliser chacune de ces commandes?
(Les liens renvoient aux commutateurs de ligne de commande devenv.exe, mais ils font la même chose que les éléments du menu.)
@womp : Pas dans le projet que je viens de regarder. Il a toujours toutes les assemblées là...
@Jon - bizarre. Je ne me souviens pas qu'un nettoyage n'ait jamais nettoyé ces répertoires. Je le fais en ce moment et il efface tous les fichiers .dll et .pdb. En revanche, il laisse tranquilles mes fichiers ReSharper.
Construire la solution : Compile les fichiers de code (DLL et EXE) qui ont été modifiés.
Reconstruire : Supprime tous les fichiers compilés et les compile à nouveau, que le code ait été modifié ou non.
Nettoyer la solution : 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'entretien en C# avec réponses)) où j'ai démontré les différences et ci-dessous se trouvent des représentations visuelles qui vous aideront à analyser plus en détail la même chose.
La différence entre Rebuild vs (Clean + Build), car il semble qu'il y ait également une certaine confusion à ce sujet :
La différence réside dans le déroulement de la séquence de build et de nettoyage pour chaque projet. Disons que votre solution a deux projets, "proj1" et "proj2". Si vous effectuez un rebuild, il prendra "proj1", nettoiera (supprimera) les fichiers compilés pour "proj1" et le compilera. Ensuite, il prendra le deuxième projet "proj2", nettoiera les fichiers compilés pour "proj2" et le compilera.
Mais si vous faites un "nettoyer" et "construire", il supprimera d'abord tous les fichiers compilés pour "proj1" et "proj2", puis il construira "proj1" en premier suivi de "proj2".
Merci d'avoir expliqué pourquoi la reconstruction ne fonctionne pas toujours et j'ai souvent besoin de nettoyer avant de construire.
Oui, la description et le deuxième schéma étaient très utiles et clairs. Si vous pouviez corriger le schéma de flux "illégal", afin que Oui ne mène qu'à un seul endroit, cela serait utile. Je ne comprends vraiment pas ce que celui-ci essaie de dire, surtout avec "Construire TOUT" sous "Reconstruire".
Pris à partir de ce lien:
Compiler signifie compiler et lier uniquement les fichiers source qui ont changé depuis la dernière compilation, tandis que Reconstruire signifie compiler et lier tous les fichiers source indépendamment de s'ils ont changé ou non. Compiler est la chose normale à faire et c'est plus rapide. Parfois les versions des composants cibles du projet peuvent devenir désynchronisées et une reconstruction est nécessaire pour que la compilation soit réussie. En pratique, vous n'avez jamais besoin de Nettoyer.
Lien? Je pensais que l'idée d'une DLL, alias Dynamic Link Library, était de lier à l'exécution?
Piers7 pouvez-vous alors fournir une raison pour laquelle vous auriez besoin de nettoyer vs reconstruire?
Construire la solution - Construit toutes les assemblies qui ont des fichiers modifiés. Si une assembly n'a pas de modifications, elle ne sera pas reconstruite. De plus, aucun fichier intermédiaire ne sera supprimé.
Utilisé le plus souvent.
Reconstruire la solution - Reconstruit toutes les assemblies indépendamment des modifications mais laisse les fichiers intermédiaires.
Utilisé lorsque vous remarquez que Visual Studio n'a pas pris en compte vos modifications dans la dernière assembly. Parfois, Visual Studio fait des erreurs.
Nettoyer la solution - Supprime tous les fichiers intermédiaires.
Utilisé lorsque tout le reste échoue et que vous devez tout nettoyer et repartir à zéro.
Cette réponse n'a reçu aucun vote positif (jusqu'à maintenant) et d'après la documentation (voir le lien dans la réponse de Jon), c'est absolument correct.
Je ne pense pas que cela le fasse. J'ai une situation où faire une solution propre, suivie par la construction de la solution, fonctionne, mais reconstruire la solution échoue. C'est sur une solution fraîchement créée avec 2 projets (l'un étant dépendant de l'autre).
@Cthutu Voir la réponse de Shivprasad pour le détail qui fait la différence ici. Rebuild nettoie puis construit chaque projet individuellement, tandis que l'exécution de "Clean" nettoie d'abord tout à la fois, puis "Build" construit tout à la fois. J'ai rencontré des cas où ce changement dans l'ordre de nettoyage/construction fait la différence entre compiler et ne pas compiler également.
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.
5 votes
Voir aussi stackoverflow.com/questions/1247457/…
3 votes
Est-ce que reconstruire est la même chose que nettoyer puis construire?
2 votes
@ColonelPanic oui