Msbuild TFS 2010正在生成的项目上忽略OutputPath

Msbuild TFS 2010正在生成的项目上忽略OutputPath,msbuild,continuous-integration,Msbuild,Continuous Integration,我已经用默认设置安装了TFS2010 Beta 2,并用包含各个项目的解决方案配置了CI构建 我的*.cspoj文件可能有: <OutputPath>bin\debug\</OutputPath> bin\debug\ 或者: <OutDir>bin\debug\</OutDir> bin\debug\ 生成服务器完成生成和运行测试等后,所有程序集都将放置在生成下拉文件夹的根目录中 如何配置生成以将outputpath或outdir保留在项

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

我的*.cspoj文件可能有:

<OutputPath>bin\debug\</OutputPath>
bin\debug\
或者:

<OutDir>bin\debug\</OutDir>
bin\debug\
生成服务器完成生成和运行测试等后,所有程序集都将放置在生成下拉文件夹的根目录中

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

我在这篇文章中发现了很多帖子,其中大部分都与TFS2008有关,但我还没有找到TFS2010的解决方案


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

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

请看这篇文章:


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

以下博客帖子回答了我的问题

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

公认的答案(来自博客)要求修改项目文件以满足所需的行为。但若您只是希望TFS构建不改变项目的输出路径,那个么

编辑生成模板(最好基于默认值创建自己的自定义模板,并在生成配置中使用它)

查找负责编译项目的条目(模板中有多个条目)-应按“编译项目”顺序

将OutDir参数设置为空

保存和签入更改


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

由于没有可调整的TFSBuild.proj文件,因此无法使用您提到的任何解决方案。现在,这是在工作流中完成的。但是如何调整工作流以获得这种行为呢?