2009-10-21 5 views
55

Vous savez, celui qui envoie cette =>Dans Visual Studio, que fait la commande "Clean"?

------ Clean a commencé: Projet: Foo.Bar, configuration: CPU ------ Debug Tout
==== ====== Propre: 1 réussi, 0 échoué, 0 sauté ==========

Qu'est-ce que c'est le nettoyage?

+2

duplication possible de [Solution propre à Visual Studio 2005] (http://stackoverflow.com/questions/480608/visual-studio-2005-clean-solution) –

Répondre

58

Les répertoires de sortie - il supprime le code qu'il a précédemment construit.

Il ne supprime pas les répertoires bin/obj eux-mêmes (ou les répertoires Debug/Release en dessous), juste les fichiers .exe, .dll, etc. Malheureusement, cela rend moins utile pour mon utilisation habituelle du nettoyage des répertoires de sortie: quand je veux compresser le code source. Comme l'action Clean ne le fait pas, je supprime généralement les répertoires bin et obj directement.

+1

Bon point pour ne pas supprimer complètement les répertoires. C'est surtout sans intérêt pour moi parce que Subversion a la commande d'exportation qui fonctionne bien (au moins si vous n'avez pas ajouté les fichiers bin, obj, * .suo, * .user, etc. au référentiel). Mais, oui, ce serait bien de voir cette fonctionnalité. –

+2

Il est intéressant de noter que dans VS 2013, la commande Nettoyer la solution n'affecte que la configuration actuellement active (par exemple: si votre solution est définie sur Déboguer la configuration, Nettoyer la solution ne fera rien aux fichiers du dossier Release). –

+0

Il existe une extension appelée CleanProject, qui vous permet de faire un nettoyage complet (supprimer bin, obj, ...): https://visualstudiogallery.msdn.microsoft.com/bca632e0-3948-43c8-b337-da47275717b6 – Robin

14

Il parcourt vos répertoires de sortie et supprime tous les fichiers liés à la construction.

Je pense que vous pouvez également configurer en allant dans les propriétés du projet dans

Propriétés de configuration -> Général, sous « Extensions pour supprimer le Clean »

+0

sry, Jon était 1er. :) –

+0

np, besoin de doigts plus rapides = P – Joseph

+0

Je suis assez sûr que je le savais. Juste ne pas trouver un bon cas d'utilisation pour cela et donc - oublié. Je ne pouvais pas comprendre comment le demander correctement à google. –

3

supprime tous les fichiers associés à la construction, la sortie répertoires

1

Les utilisateurs utilisent un 'nettoyage' pour forcer une reconstruction complète à partir de la source. Votre compilateur ne reconstruit pas chaque fichier à chaque fois s'il n'a pas changé.

+1

Tout d'abord pour clarifier à ce sujet, un nettoyage ne fait aucun bâtiment. Un nettoyage assure une construction complète si vous faites une construction ultérieure en utilisant l'option 'build' dans VS. Si vous "reconstruisez" dans Visual Studio, tout sera reconstruit, car cela fait un premier nettoyage. Personnellement, je reconstruis toujours, pour éviter les problèmes potentiels. –

26

Pourquoi ne pas vous chercher? Ouvrez Microsoft.Common.targets (trouvés sous% windir% \ Microsoft.NET) et vous verrez une section comme ceci:

<!-- 
============================================================ 
            Clean 

Delete all intermediate and final build outputs. 
============================================================ 
--> 
<PropertyGroup> 
    <CleanDependsOn> 
     BeforeClean; 
     CleanReferencedProjects; 
     UnmanagedUnregistration; 
     CoreClean; 
     CleanPublishFolder; 
     AfterClean 
    </CleanDependsOn> 
</PropertyGroup> 
<Target 
    Name="Clean" 
    Condition=" '$(_InvalidConfigurationWarning)' != 'true' " 
    DependsOnTargets="$(CleanDependsOn)" /> 

Continuez votre lecture pour voir exactement ce que chacun de ces sous-cibles fait. (Certains, bien sûr, ne sont que des stubs que l'utilisateur peut remplacer).

Personnellement, j'aime voir quelles shenanigans mon IDE-pantalons IDE est derrière mon dos. À cette fin, je recommande d'augmenter la quantité d'informations écrites dans la fenêtre de sortie. Outils -> Options -> Projets & Solutions -> Build & Exécuter -> MSBuild verbosity -> remplacer "Minimal" par "Normal" ou "Detailed".

Essayez à nouveau votre opération de nettoyage et regardez la sortie maintenant! Corréler ce que vous voyez dans les fichiers * .targets est un bon moyen de commencer à apprendre MSBuild.

+0

Belles choses. Malgré cela, je suis plus intéressé par le fonctionnement de NAnt. –

+5

+1 pour MSBuild Verbosity. :) –

Questions connexes