Différence entre la reconstruction et Clean + Build dans Visual Studio

Quelle est la différence entre juste un reconstruire et faire un nettoyer + construire dans Visual Studio 2008? Est Propre + Construire différentes, puis de le faire Propre + Reconstruire ?

275
demandé sur Guilherme Fidelis 2009-08-08 03:32:16

5 réponses

Rebuild = Clean + Build

détails notables:

  1. pour une solution multi-projets, "rebuild solution" fait un "clean" suivi d'un "build" pour chaque projet (éventuellement en parallèle). Alors qu'une "solution propre", suivi par "générer la solution" première nettoie tous les projets (éventuellement en parallèle), puis construit tous les projets (éventuellement en parallèle). Cette différence dans la séquence des événements peut devenir significative lorsque les dépendances entre projets entrent en jeu.

  2. les trois actions correspondent à des cibles MSBuild. Un projet peut donc outrepasser l'action de reconstruction pour faire quelque chose de complètement différent.

281
répondu earl 2012-10-08 12:20:18

Earl a raison: 99% du temps reconstruire = nettoyer + construire.

mais ils ne sont pas garantis identiques. Les 3 actions (rebuild, build, clean) représentent différentes cibles MSBuild. Chacun peut être remplacé par un fichier de projet pour faire des actions personnalisées. Il est donc tout à fait possible pour quelqu'un d'outrepasser la reconstruction de faire plusieurs actions avant de lancer un clean + build (ou de les enlever entièrement).

une affaire de coin mais le fait remarquer en raison de discussions de commentaires.

157
répondu JaredPar 2012-02-17 03:58:57

1 par projet, Projet de reconstruction = (projet propre + projet de construction).

2 par Solution, Rebuild Sln = foreach project (Clean project + Build project) != Nettoyage Sln + Construction Sln

dites que vous avez un Sln, contient proj1, proj2, et proj3.

Rebuild Sln = (Clean proj1 - > Build Proj1) + (Clean proj2 -> Build Proj2) + (Clean proj3 -> Build Proj3)

Nettoyer la Sln + Construire la Sln = (Clean proj1 + Propre proj2 + Propre proj3) -> (Build proj1 + Construire proj2 + Construire proj3)

-> s'entend de la série, + signifie simultané

donc il y a une chance quand vous soumettez beaucoup de changements de code alors que vous n'avez pas configuré les dépendances du projet correctement, la reconstruction de Sln causerait certains d'entre vous Proj lien à une lib périmée parce que toutes les constructions ne sont pas garanties étant après tous les nettoyages.(Dans ce cas, Clean Sln + Build Sln donnera une erreur de lien, et vous fera savoir que immédiatement, au lieu de vous donner une application avec un comportement étrange)

46
répondu Trout.Z 2012-02-17 03:57:35

de http://www.cs.tufts.edu/r/graphics/resources/vs_getting_started/vs_getting_started.htm , (juste googlé):

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, qu'ils aient changé ou non. Construire est la chose normale à faire et est plus rapide. Parfois, les versions des composants cibles du projet peuvent se désynchroniser et se reconstruire. nécessaires à la construction réussie. En pratique, vous n'avez jamais besoin de nettoyer.

construire ou reconstruire une Solution construit ou reconstruit tous les projets de votre solution, tandis que construire ou reconstruire construit ou reconstruit le projet de démarrage, "Bonjour" dans l'écran ci-dessus. Pour définir le projet de démarrage, faites un clic droit sur le nom du projet désiré dans L'onglet Explorateur de solutions et sélectionnez Définir comme projet de démarrage. Le nom du projet apparaît maintenant en gras. Puisque les solutions de travail à domicile typiquement avoir un seul projet, construire ou reconstruire la Solution est effectivement la même que construire ou reconstruire .

Compile simplement le fichier source en cours d'édition. Utile pour vérifier rapidement les erreurs lorsque le reste de vos fichiers source sont dans un état incomplet qui empêcherait une construction réussie de l'ensemble du projet. Ctrl-F7 est la clé de raccourci pour la compilation.

12
répondu Eduardo Mello 2009-08-21 13:10:39

à Partir de ce blog dont l'auteur, lié en tant que un commentaire sur cette question :

En Fait Non!!! ils ne sont pas égaux.

la différence est dans la séquence des projets obtenir propre et construire. Laisser dire que nous avons deux projets dans une solution. Nettoyer et ensuite construire la volonté effectuer propre aux deux projets et ensuite construire se produira individuellement alors que sur le projet de reconstruction de Un obtenez et nettoyer et construire après ce projet B sera propre et puis construire et ainsi de suite.

3
répondu Prageeth godage 2017-05-23 11:47:18