类型'xxx'在未引用的程序集中定义

Alb*_*ert 3 c# assemblies reference tfsbuild tfs2012

我一直在互联网上寻找答案,并且可以真正使用帮助.

我已经查看了有关此错误的其他帖子,但这些答案都没有帮助我.

完整的错误是,

类型'xxx'在未引用的程序集中定义.您必须添加对程序集'xxx,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'的引用.

解决方案在本地构建良好,但是当我在构建服务器上触发构建时会发生错误.

这是我到目前为止试图解决这个问题的方法:

  • 确保所有项目参考都是正确的(如果建筑师与我一起审查)
  • 将"SpecificVersion"属性更改为true
  • 删除了引用并将其添加回来(在VS2012中并编辑了.csproj文件本身)
  • 在构建服务器上本地构建解决方案,它通过
  • 编辑 - 我还应该提到我已经在两个不同的构建服务器上构建了这个解决方案,但仍然得到相同的错误

我正在使用VS2012和TFS2012来做到这一点.

我真的很感激任何帮助,谢谢.

*更新:*我刚刚在构建服务器上执行了一个MSBuild,但是将配置更改为"Release",并且能够重现部分错误.但是,一些关键的差异是它正在寻找的版本突然是1.3.1.15而不是0.0.0.0而PublicKeyToken不再是null.有谁知道这可能意味着什么?程序集的版本应该是0.0.0.0.

Alb*_*ert 5

所以在与我的建筑师再花几个小时之后,我们发现了这个问题.我们的开发人员在源代码管理中的各种文件夹中隐藏了同一个dll的多个副本.其中一个项目引用了不正确的.dll.

在修复引用并删除额外不需要的.dll之后,错误消失了,我们的构建终于工作了!:)

  • 使用Nuget - 将使您的生活更加简单. (5认同)