Team Foundation Build - 解决交叉解决方案项目参考

时间:2009-12-01 02:07:41

标签: .net version-control tfs msbuild continuous-integration

我们有一个跨多个解决方案引用的共享项目,当遇到TF构建时会导致:

'错误MSB3202:找不到项目文件“...... \ trunk \\\ sharedproject.csproj”。

这很好,因为构建服务器上的目录结构不反映源代码控制的目录结构。是否可以修改构建文件以在该项目的特定位置进行搜索?

2 个答案:

答案 0 :(得分:1)

也许您应该考虑添加对共享项目的dll引用而不是项目引用,然后在源代码管理中包含dll。如果这不是一个选项,您可以始终创建另一个解决方案文件,该文件引用构建服务器上的共享项目文件的正确路径,并在构建服务器上使用该解决方案。我倾向于dll引用,因为从长远来看,选项二更难维护。

希望它有所帮助。

/克劳斯

答案 1 :(得分:0)

我使用构建定义中的“工作区”选项卡解决了这个问题。

我的解决方案文件引用了当前项目之外的项目,例如$ / Common项目。

要使自动构建生效,需要正确映射构建代理上的工作区。查看生成的错误,我可以确定文件夹的位置。

所以我的工作文件夹中列出了一些不同的项目,Build Agent文件夹是Build Agent计算机上的位置,而不是我的本地计算机(这让我转了一圈)。一切都是在构建代理上构建的,然后复制到输出目录。