Visual studio 为什么要删除';obj';每个版本上的文件夹?

Visual studio 为什么要删除';obj';每个版本上的文件夹?,visual-studio,visual-studio-2015,msbuild,Visual Studio,Visual Studio 2015,Msbuild,我刚开始做一个项目,建筑速度很慢。 现在,我将许多项目的下一个操作视为一个后期构建事件: <PostBuildEvent>rd "$(ProjectDir)obj" /S /Q</PostBuildEvent> rd“$(ProjectDir)obj”/S/Q 我已经读到,obj文件夹跟踪构建,因此增量构建可以更快,所以我认为这可能与此有关 然而,我的团队中没有人知道为什么要这样做,删除这个文件夹,所以我有点犹豫是否要删除构建操作 执行此操作的原因是什么?我想到了几

我刚开始做一个项目,建筑速度很慢。 现在,我将许多项目的下一个操作视为一个后期构建事件:

 <PostBuildEvent>rd "$(ProjectDir)obj" /S /Q</PostBuildEvent>
rd“$(ProjectDir)obj”/S/Q
我已经读到,
obj
文件夹跟踪构建,因此增量构建可以更快,所以我认为这可能与此有关

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


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

我想到了几件事(它们本身都很可疑):

  • 同一个项目中的自定义构建步骤,或者-上帝禁止-需要它的其他项目(为了下一个构建成功)
  • 试图保留磁盘空间的一种(误导性的)尝试(因为在构建之后,所有“宝贵的”都在“bin”中,从技术上讲,您不需要“obj”)
  • 一种(误导性的)尝试实现“干净、干净等”-语义

您需要关于完整构建系统、其他项目等的更多信息。您可以找到更多或更好的原因(如果有的话;-)

我想到了几件事(它们本身都很可疑):

  • 同一个项目中的自定义构建步骤,或者-上帝禁止-需要它的其他项目(为了下一个构建成功)
  • 试图保留磁盘空间的一种(误导性的)尝试(因为在构建之后,所有“宝贵的”都在“bin”中,从技术上讲,您不需要“obj”)
  • 一种(误导性的)尝试实现“干净、干净等”-语义

您需要关于完整构建系统、其他项目等的更多信息。您可以找到更多或更好的原因(如果有的话;-)

执行这种行为的唯一可能原因是缺乏关于效用的知识

我相信目标需求(如果存在的话)可以通过另一种方式实现,这不会忽略增量构建特性


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

执行此类操作的唯一可能原因是缺乏关于效用的知识

我相信目标需求(如果存在的话)可以通过另一种方式实现,这不会忽略增量构建特性


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

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

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

您认为Christian的答案如何?你现在有什么问题吗?@starain看起来不错,但我希望一些“真实”的东西能从这次行动中受益,这样我就可以决定是否需要“真实”的东西。我认为删除obj文件夹的原因是,您不想“启用”增量构建以确保每个文件都是最新的。您认为Christian的答案如何?你现在有什么问题吗?@starain看起来不错,但我希望一些“真实”的东西能从这次行动中受益,这样我就可以决定是否需要“真实”的东西。我认为删除obj文件夹的原因是,您不想“启用”增量生成以确保每个文件都是最新的。我使用了
BaseIntermediateOutputPath
(为每个配置和平台组合设置,在“”行附近),并且能够将
obj
文件夹从默认位置移走(位于根目录上方,包含解决方案文件的文件夹),没有Visual Studio 2012创建一个空的
obj
文件夹。我使用了
BaseIntermediateOutputPath
(为每个配置和平台组合设置,在“”行附近),并且能够将
obj
文件夹从默认位置移走(位于根目录上方,即包含解决方案文件的文件夹),不使用Visual Studio 2012创建空的
obj
文件夹。