你知道,那个输出这个=>
------清理开始:项目:Foo.Bar,配置:调试任何CPU ------
==========清洁:1成功,0失败,0跳过==========
它在清洁什么?
答案 0 :(得分:67)
输出目录 - 它删除了以前构建的代码。
它不会删除bin / obj目录本身(或它们下面的Debug / Release目录),只删除实际的.exe,.dll等文件。不幸的是,这使得它对我清理输出目录的常用用法不太有用:当我想压缩源代码时。由于Clean操作不会这样做,我通常只是直接删除bin和obj目录。
答案 1 :(得分:27)
为什么不自己寻找?打开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是什么恶作剧。为此,我建议增加写入“输出”窗口的信息量。工具 - &gt;选项 - &gt;项目&amp;解决方案 - &gt;建设与发展运行 - &gt; MSBuild详细程度 - &gt;从“最小”更改为“正常”或“详细”。
再次尝试清洁操作并立即观看输出!将您看到的* .targets文件关联起来是开始学习MSBuild的好方法。
答案 2 :(得分:14)
它遍历您的输出目录并删除其中的任何构建相关文件。
我认为你也可以通过转到
中的项目属性来配置它配置属性 - &gt;一般情况下,“在清洁时删除的扩展”
答案 3 :(得分:3)
删除与构建,输出目录
关联的所有文件答案 4 :(得分:1)
人们使用'干净'强制从源头完成重建。如果没有更改,编译器不会每次重建每个文件。