在 VisualStudio 中,“ Clean”命令做什么?

就是输出 this = > 的那个

——清除开始: 项目: Foo. Bar,配置: 调试任意 CPU ——
= = = = = = = = = = = = = = 干净: 1成功,0失败,0跳过 = = = = = = = = = = = = = = = = = = =

清理什么?

44986 次浏览

输出目录-它删除了之前构建的代码。

它不会删除 bin/obj 目录本身(或者它们下面的 Debug/Release 目录) ,只删除实际的。前任。Dll 等文件。不幸的是,这使得它对于我通常使用的清理输出目录(当我想要压缩源代码时)不太有用。由于 Clean 操作不这样做,我通常只是直接删除 bin 和 obj 目录。

它会遍历您的输出目录,并删除其中与构建相关的所有文件。

我认为您还可以通过访问

配置属性-> 常规,在“清除时要删除的扩展”下

删除与生成关联的所有文件,输出目录

人们使用“干净”来强迫从源头完全重建。如果编译器没有更改,那么它不会每次都重新生成所有文件。

为什么不自己去找?打开微软。常见。目标(可以在% 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 在我背后搞什么鬼。为此,我建议增加写入 Output 窗口的信息量。工具-> 选项-> 项目和解决方案-> 构建和运行-> MSBuild 详细描述-> 从“最小”改为“正常”或“详细”

再次尝试您的清洁操作,并观察输出现在!将你所看到的与 * 联系起来。目标文件是开始学习 MSBuild 的好方法。