2009-10-21 168 views
55

你知道,输出一个此=>在Visual Studio中,“Clean”命令有什么作用?

------清洁开始:项目:Foo.Bar,配置:调试任何CPU ------
==== ======清洁:1次成功,0次失败,0次跳过==========

什么是清洁?

+2

[Visual Studio 2005 Clean Solution]的可能重复(http://stackoverflow.com/questions/480608/visual-studio-2005-clean-solution) – 2011-11-16 23:29:39

回答

58

输出目录 - 它删除它以前生成的代码。

它不会自己删除bin/obj目录(或其下的Debug/Release目录),只是实际的.exe,.dll等文件。不幸的是,这使得它对我通常使用的清理输出目录不太有用:当我想压缩源代码时。由于Clean操作不这样做,我通常直接删除bin和obj目录。

+1

关于不完全删除目录的好处。它对我来说主要是无意义的,因为Subversion具有出色的导出命令(至少如果您没有将bin,obj,* .suo,* .user等文件添加到存储库中)。但是,是的,很高兴看到该功能。 – 2009-10-21 20:09:25

+2

有趣的是,在VS 2013中,Clean Solution命令只会影响当前活动的配置(例如:如果您的解决方案设置为Debug配置,则Clean Solution不会对Release文件夹中的文件执行任何操作)。 – 2014-10-08 13:57:36

+0

有一个名为CleanProject的扩展,它允许您执行完全清理(删除bin,obj,...):https://visualstudiogallery.msdn.microsoft.com/bca632e0-3948-43c8-b337-da47275717b6 – Robin 2015-07-15 09:42:43

14

它通过您的输出目录并删除其中的任何生成相关文件。

我想你也可以通过进入项目的属性在

配置属性配置此 - >常规,在“扩展为删除干净”

+0

sry,Jon是第一位。 :) – 2009-10-21 20:01:23

+0

np,需要更快的手指= P – Joseph 2009-10-21 20:01:56

+0

我很确定我知道这一点。只是没有找到一个好的用例,因此 - 忘了。无法理解如何正确地向谷歌提问。 – 2009-10-21 20:08:44

3

删除与构建,输出相关的所有文件目录

1

人们使用'干净'从源强制完成重建。如果没有更改,您的编译器不会每次重建每个文件。

+1

首先澄清一下,干净的不做任何建筑物。如果您使用VS中的“构建”选项进行后续构建,则干净确保构建完整。如果你在Visual Studio中'重建',那么所有的东西都会被重建,因为无论如何这都是干净的。我个人总是重建,以避免潜在的问题。 – 2013-08-07 04:25:24

26

为什么不找你自己?打开Microsoft.Common.Targets(下%WINDIR%找到\ Microsoft.NET),你会看到像这样的一段:

<!-- 
============================================================ 
            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)" /> 

请继续阅读,看看到底是什么每个这些子目标一样。 (当然,有些是用户覆盖的存根)。

就我个人而言,我喜欢看到我的花哨IDE在我的背后是什么样的。为此,我建议增加写入输出窗口的信息量。工具 - >选项 - >项目&解决方案 - >构建&运行 - > MSBuild详细程度 - >从“最小”更改为“正常”或“详细”。

再次尝试您的清洁操作并立即观看输出!将您看到的* .targets文件关联起来是开始学习MSBuild的好方法。

+0

好东西。尽管我对NAENT的工作方式更感兴趣。 – 2009-10-21 20:19:17

+5

+1为MSBuild详细。 :) – 2009-10-21 20:29:40

相关问题