【问题标题】:OutputPath ignored on projects being build by TFS 2010在 TFS 2010 构建的项目中忽略了 OutputPath
【发布时间】:2010-02-18 10:06:51
【问题描述】:

我已使用默认设置安装了 TFS2010 Beta 2,并使用包含各个项目的解决方案配置了 CI 构建。

我的 *.cspoj 文件可能有:

<OutputPath>bin\debug\</OutputPath>

或者:

<OutDir>bin\debug\</OutDir>

当构建服务器完成构建和运行测试等时,所有程序集都放在构建放置文件夹的根目录中。

如何配置构建以在我的项目中保留输出路径或 outdir,并将程序集和内容存储在匹配的文件夹结构中 (builddropfolder\bin\debug\)?

我发现了很多关于这方面的帖子,其中大部分与 TFS 2008 相关,但我还没有找到 TFS 2010 的解决方案。

也许可以在构建服务器的新工作流文件中解决这个问题?

【问题讨论】:

    标签: msbuild continuous-integration


    【解决方案1】:

    以下博文回答了我的问题。

    http://blogs.msdn.com/b/jimlamb/archive/2010/04/13/customizableoutdir-in-tfs-2010.aspx

    非常感谢 Jim Lamb 提供的解决方案。

    【讨论】:

      【解决方案2】:

      接受的答案(来自博客)需要修改项目文件以应对所需的行为。但是,如果您只是希望 TFS Build 不更改项目的 OutputPath,那么

      编辑构建模板(最好根据默认创建自己的自定义模板并在构建配置中使用它)。

      找到负责编译项目的条目(模板中不止1个)-应该在“编译项目”序列中。

      将 OutDir 参数设置为空。

      保存并签入更改。

      适用于 TFS 2012,但也可能适用于其他版本。

      【讨论】:

        【解决方案3】:

        这是 TFS 的一个已知问题。我不认为它是 2010 年特有的,尽管我听说他们正在努力修复它。

        看看这个帖子:

        What's the best way to get TFS to output each project to its own directory?

        归结为几种不同的解决方法,但基本上我认为您需要在 TFS 构建脚本中对其进行调整。

        【讨论】:

        • 由于没有 TFSBuild.proj 文件可以调整,您提到的所有解决方案都无法使用。现在这是在工作流程中完成的。但是如何调整工作流程以获得这种行为?
        猜你喜欢
        • 2018-09-15
        • 2011-04-12
        • 1970-01-01
        • 2011-09-26
        • 1970-01-01
        • 2020-06-24
        • 2012-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多