在TFS 2010构建的项目上忽略了OutputPath

时间:2010-02-18 10:06:51

标签: msbuild continuous-integration tfs2010

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

我的* .cspoj文件可能包含:

<OutputPath>bin\debug\</OutputPath>

或者:

<OutDir>bin\debug\</OutDir>

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

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

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

也许可以在buildserver的新工作流文件中解决这个问题?

3 个答案:

答案 0 :(得分:3)

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

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

查找&lt; mtbwa:MSBuild /&gt;条目(模板中有1个以上)负责编译项目 - 应该在“编译项目”序列中。

将OutDir参数设置为空。

保存&amp;办理登机手续的变更。

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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:-1)

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

看一下这篇文章:

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

归结为几种不同的解决方法,但实际上我认为你需要在TFS构建脚本中调整它。