【问题标题】:VisualStudio: How to save the obj folder somewhere elseVisual Studio:如何将 obj 文件夹保存在其他位置
【发布时间】:2010-09-20 15:47:40
【问题描述】:

有谁知道在构建解决方案时如何告诉 VS(2008) 在哪里保存 obj 文件夹?我们让它将 bin 文件夹保存到另一个路径,以保持源文件夹较小(即可通过电子邮件发送),但找不到任何方法告诉它对 obj 执行相同操作...

【问题讨论】:

    标签: visual-studio build-process


    【解决方案1】:

    使用项目文件中的BaseIntermediateOutputPath 属性(.csproj.vbproj 等),如http://msdn.microsoft.com/en-us/library/bb629394.aspx 中所述。您必须使用文本编辑器手动编辑 XML 文档,然后在 Visual Studio 中重新加载它。它可能仍会创建obj 文件夹(这是一个已知错误),但会将其留空并将实际的obj 文件放在您指定的文件夹中。

    【讨论】:

    • 另外,如果您安装了 Visual Studio Power Commands(可从 code.msdn.microsoft.com/PowerCommands 获得),您可以在 Visual Studio 中编辑项目文件(右键单击,编辑项目文件)。 +1 链接和错误说明。
    • 10 多年后:仍然是一个 bug :(
    【解决方案2】:
    1. 您将其添加到 标记下的项目文件中:

      <IntermediateOutputPath>..\Whatever\obj\</IntermediateOutputPath>
      
    2. VS 仍然会创建 obj 文件夹,因此每次构建后都必须将其删除。这可以通过将以下脚本放入 VS 的后期构建部分来完成:

      rd "$(ProjectDir)obj" /S /Q
      

    【讨论】:

    • 使用 和后期构建事件对我有用。谢谢:)
    • 是否需要在构建后事件中删除 obj 目录?反正它似乎是空的。
    • 不,您不必删除它,但我更喜欢将其删除。
    • 这个不会将内容推送到该目录.. OBJ\PubTmp .. 这是我的深度 NPM 路径问题导致路径过长错误。
    【解决方案3】:

    您使用版本控制吗?如果你这样做了,还有另一种选择:

    您可以从版本控制中exclude bin/ 和 obj/ 并检查您的项目,而不是通过电子邮件发送。如果您使用Subversion,您也可以Export 您的项目并将导出和压缩的文件夹通过电子邮件发送。

    【讨论】:

      【解决方案4】:

      它是项目设置的属性>常规下的输出目录

      编辑:本地 C++ 项目(我正在使用)和基于 CLR 的项目(可能是OP指的是)。

      【讨论】:

      • 这仅适用于“bin”目录。不适用于“obj”。
      • 我已将输出目录和中间目录都设置为特定路径,并且所有 *.obj 文件都存储在此位置。
      • 对于 C#,似乎只需要设置 BaseIntermediateOutputPath 目录,如 Soren 的帖子中所述。
      【解决方案5】:

      在 Visual Studio 2013 中,这是在项目“配置属性/常规/中间目录”中指定的。

      【讨论】:

      • 当我在寻找 MSVC 2013 的答案时出现了这个线程,当我发现这个立即起作用的设置时,我花了一个小时试图让 BaseIntermediateOutputPath 工作但没有成功。顺便说一句,E:是我系统上的 RAM 驱动器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多