我有TFS2010构建工作流程,可编译包含约100个项目的解决方案。编译成功,测试按预期运行等。我遇到的问题与bin输出文件夹的重定向有关。
据我了解,MSBuild的TFS2010构建活动将bin文件夹输出重新编辑到与Sources和TestResults文件夹相同级别的二进制文件夹,如下所示。
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Binaries
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Sources
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ TestResults
bin文件夹的这个重定向对我80%的项目按预期工作。剩余的项目bin文件夹在其标准位置显示为未重定向,就像我在本地计算机上使用VS进行编译一样。
为了说明,按预期工作......
来源路径: -
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Sources \ Source \ MyPlatform.Modules.Interaction.Specs
Bin输出成功重定向到二进制文件夹: -
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Binaries \ Mixed Platforms \ Debug \ MyPlatform.Modules.Interaction.Specs
现在是一个非重定向的例子......
来源路径: -
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Sources \ Source \ MyPlatform.AddIns.Framework.Services
Bin输出未重定向并保留在源文件夹中: -
C:\ Builds \ 1 \ MyPlatform \ MyPlatform Main - CI \ Sources \ Source \ MyPlatform.AddIns.Framework.Services \ bin \ Debug
为了澄清,这不是丢弃位置的问题,而是bin输出重定向到中间Binaries文件夹。复制到我的最终放置位置按预期工作,所有这些都是减去bin输出最初未重定向到二进制文件夹的项目。
我已经好好浏览了一下,我看到的所有信息都指向自定义输出到二进制文件夹或与放置位置相关的信息。读完这篇文章后,我看不到任何会导致某些项目忽略默认重定向的内容。
我的大多数项目都是标准的.NET 4类库,尽管有几个c ++项目和一个WIX安装程序。我最初虽然它会与这种差异有关,但是这个问题出现在几个.NET 4类库中,这些库与所有其他成功重定向的项目具有相同的设置。
关于上面的示例路径还有一点。我已将“我的”替换为实际的项目前缀,但其他路径都是使用的。
有谁知道为什么某些项目bin输出可能没有被重定向?
您可以提供任何帮助。
由于 ħ
答案 0 :(得分:2)
继续调查并从MSDN上的Dharmesh Shah向正确的方向推动,发现这与“TeamBuildOutDir”设置有关。更多细节可以在http://blogs.msdn.com/b/jimlamb/archive/2010/04/13/customizableoutdir-in-tfs-2010.aspx
找到