为什么要删除' obj'每个构建文件夹?

时间:2016-09-13 09:17:07

标签: visual-studio visual-studio-2015 msbuild

我是一个项目的新人,而且建筑很慢。 现在我将postbuild事件视为许多项目的下一个动作:

 <PostBuildEvent>rd "$(ProjectDir)obj" /S /Q</PostBuildEvent>

我已经读过obj文件夹跟踪构建,因此增量构建可以更快,所以我想也许这与它有关。

但是,我的团队中没有人知道为什么要这样做,删除这个文件夹,所以我有点犹豫,只是删除构建操作。

执行此操作的原因是什么?

3 个答案:

答案 0 :(得分:2)

有些事情浮现在脑海中(所有这些事情本身都值得怀疑):

  • 自定义构建步骤相同,或者 - 上帝禁止 - 需要它的其他项目(下一个构建成功)。
  • (误导)尝试保留磁盘空间(因为所有&#34;宝贵的&#34;在&#34; bin&#34;在构建之后,您在技术上不需要&#34; obj&# 34。)
  • 一种(误入歧途的)企图实施&#34;清洁,破坏等等&#34; -semantics

需要有关完整构建系统,其他项目等的更多信息,以了解更多或更好的理由 - 如果有的话; - )

答案 1 :(得分:1)

执行此类操作的唯一可能原因是缺乏关于MSBuild实用程序功能的知识

我相信目标要求(如果存在)可以采用另一种方式,而不会省略增量构建功能。

尝试在您正在使用的VCS中找到该字符串的作者,如果作者不可用或无法回答问题,请警告您的同事并将其删除,看看会发生什么。

答案 2 :(得分:0)

Visual Studio中存在一个错误,如果您使用项目文件中定义的IntermediateOutputPath移动obj目录,则编译器仍会以任何方式创建空的obj目录。我自己做,但VS2010。如果VS2015已修复此问题,您可以将其删除。