Visual studio 2010 TFS生成错误:需要引用

Visual studio 2010 TFS生成错误:需要引用,visual-studio-2010,msbuild,Visual Studio 2010,Msbuild,我在VS2010中使用TFS(我想是2008年),使用多种解决方案进行团队构建。对于其中一个解决方案,我收到一个错误“对包含基类“…”的程序集“…”的引用是必需的。请将其添加到项目中。” 然而,所讨论的项目实际上有一个对程序集的引用,当我在VS中自己构建解决方案时,它工作得很好 此生成用于开发分支,生成定义是从主干的生成定义复制的。我通过并更改了../Trunk/中的所有路径引用。。到../Dev/,但我收到了这个错误。主干的构建工作正常,我认为这个特定的解决方案在主干和分支版本之间没有任何变化

我在VS2010中使用TFS(我想是2008年),使用多种解决方案进行团队构建。对于其中一个解决方案,我收到一个错误“对包含基类“…”的程序集“…”的引用是必需的。请将其添加到项目中。”

然而,所讨论的项目实际上有一个对程序集的引用,当我在VS中自己构建解决方案时,它工作得很好

此生成用于开发分支,生成定义是从主干的生成定义复制的。我通过并更改了../Trunk/中的所有路径引用。。到../Dev/,但我收到了这个错误。主干的构建工作正常,我认为这个特定的解决方案在主干和分支版本之间没有任何变化

我对TFS还很陌生,所以有人能建议出什么问题吗? 谢谢

编辑: 我注意到在这个构建上还有一个警告:“引用的项目”(上面它正在查找的项目)不存在。我不知道为什么它会这样说,因为我在构建服务器上的源文件夹中查找了该文件。 但是,它可能会尝试引用主干中以前构建的文件版本吗?那样的话,版本号就错了…我疯了吗?任何想法都会被欣赏

编辑2: 已成功生成引用项目的dll。但是,在生成日志中,当涉及到生成的“任务“Vbc”部分时,/reference选项不包括此dll,即使我在VS中添加了对它的直接引用。对于任何了解msbuild的人,我得到的错误是BC30007

编辑3: 发现问题!如果将来有人遇到同样的问题,请发布:
只是源文件的路径名太长(dev分支有几个额外的文件夹级别,因此路径名比主干中的路径名长得多)。令人烦恼的是,在这种情况下,您收到的错误消息没有给出任何关于真正问题的线索。“需要参考。””“是的

这几乎肯定是一个路径问题。当我们从以前的源代码管理/构建系统迁移到TFS时,我们也将所有项目从绝对路径迁移到相对路径

查看各种.csproj文件,并检查DLL和引用项目的引用路径。确保它们都是相对于正在构建的项目进行说明的(你应该看到它们被大量的
。\
符号引用。如果你看到驱动器号,你就有问题了


修复此问题后,无论分支如何,构建都应适用于本地构建和团队构建。

谢谢,但路径已经是相对的。失败的项目具有指定的引用,如:{0008A266-96BD-4F2A-B075-8EA52481E242}ProjectToBeinclude我假设您已经验证了路径,并确保所有内容都已检入并正确合并?另一件事是查看BuildLog.txt,看看它是否为您提供了查找文件位置的任何线索。BuildLog说它成功构建了项目。此时,它给出了文件的完整路径是正确的,并且dll确实显示在生成服务器上的binaries文件夹中。在尝试生成另一个引用它的项目时发生错误。我不知道应该查找什么。感谢您的帮助…在生成过程中,我在路径长度方面遇到了很多问题。很好!