如何清理Visual Studio bin和obj文件夹
如果你右键点击一个文件夹,你会看到一个“清洁”菜单项。 我认为这将清理(删除)obj和bin目录。 但是,据我所知,它什么都不做。 有另一种方法吗? (请不要告诉我去Windows资源管理器或cmd.exe)我想删除obj和bin文件夹,以便我可以轻松地压缩整个事情。
正如其他人已经回应,Clean将删除由构建生成的所有工件。 但它会留下一切。
如果你在你的MSBuild项目中有一些自定义项,这可能会给你带来麻烦并留下你认为应该删除的东西。
你可以通过简单的改变你的。* proj来避开这个问题。
<Target Name="SpicNSpan"
AfterTargets="Clean">
<RemoveDir Directories="$(OUTDIR)"/>
</Target>
这将删除当前平台/配置的bin文件夹中的所有内容。
------编辑基于萨满回答下面的轻微进化(分享选票并给他一些)
<Target Name="SpicNSpan" AfterTargets="Clean">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
----再次使用来自xDisruptor的部分编辑,但是我删除了.vs删除,因为在.gitignore(或等效)
更新了VS 2015。
<Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
<RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
<RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
</Target>
他还提供了一个很好的建议,如果你有多个项目推动这个任务,那么这个任务将更易于部署和维护。
如果您对此答案投票,一定要为他们投票。
对于Visual Studio 2015,MSBuild变量已经改变了一下:
<Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
<RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
<RemoveDir Directories="$(SolutionDir).vs" /> <!-- .vs -->
<RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
</Target>
请注意,此代码段也会从解决方案的根目录中清除.vs文件夹。 如果您觉得删除.vs文件夹是一种矫枉过正的行为,您可能需要将相关行注释掉。 我已启用它,因为我注意到,在某些第三方项目中,当.vs文件夹中存在文件ala application.config时,会导致问题。
附录:
如果您正在优化解决方案的可维护性,则可能需要进一步采取措施,并将上面的代码片段放入单独的文件中,如下所示:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="SpicNSpan" AfterTargets="Clean"> <!-- common vars https://msdn.microsoft.com/en-us/library/c02as0cs.aspx?f=255&MSPPError=-2147217396 -->
<RemoveDir Directories="$(TargetDir)" /> <!-- bin -->
<RemoveDir Directories="$(SolutionDir).vs" /> <!-- .vs -->
<RemoveDir Directories="$(ProjectDir)$(BaseIntermediateOutputPath)" /> <!-- obj -->
</Target>
</Project>
然后将这个文件包含在每个* .csproj文件的最后,如下所示:
[...]
<Import Project="....ToolsExtraCleanup.targets"/>
</Project>
通过这种方式,您可以在一个地方集中或精调额外清理逻辑,而无需每次手动编辑每个* .csproj文件,而无需每次想要进行改进。
在构建之前删除bin和obj添加到项目文件中:
<Target Name="BeforeBuild">
<!-- Remove obj folder -->
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
<!-- Remove bin folder -->
<RemoveDir Directories="$(BaseOutputPath)" />
</Target>
这里是文章:如何在构建或部署之前删除bin和/或obj文件夹
链接地址: http://www.djcxy.com/p/26267.html