团队构建 - 命名空间“B”中不存在类型或命名空间名称“A”

时间:2014-06-20 19:05:18

标签: .net visual-studio tfs tfs2010 tfsbuild

我会尽力在这个上尽可能准确。我有一个VS 2013解决方案,其中包含几个针对.NET 4.5 Framework的项目。当我针对具有VS 2012和.NET 4.5 Framework的构建代理运行构建时,我得到了几个相对于Project.UnitTests项目的错误,如下所示:

为默认目标构建Project.UnitTests.csproj ...

错误CS0234:命名空间“项目”中不存在类型或命名空间名称“Business”(您是否缺少程序集引用?)[C:\ Builds \ 37 \ Project \ Project_v2.0.0 \ Sources \ Source \ Project.UnitTests \ Project.UnitTests.csproj]

当我针对运行VS 2010和.NET 4.0 Framework的代理运行相同的构建时,它会成功构建。

以下是我正在使用的解决方案的基本布局:

Project.Business
Project.Business.Services
  - Depends on PProject.Business
Project.Console
  - Depends on Project.Business
  - Depends on Project.Business.Services
Project.UnitTests
  - Depends on Project.Business
  - Depends on Project.Business.Services

Build Order:
  Project.Business
  Project.Business.Services
  Project.Console
  Project.UnitTests

这是我正在使用的构建代理的配置:

Build Agent 1
  - Windows 7 32-bit
  - TFS 2010 SP1
  - VS 2010
  - .NET Framework 4.0

Build Agent 2
  - Windows 7 64-bit
  - TFS 2010 SP1
  - VS 2012
  - .NET Framework 4.5

构建在代理1上成功,但在代理2上失败。唯一失败的项目是Project.UnitTests。真的不知道这个去哪里。试图保持这个尽可能短,但如果它的细节太短,我可以提供所需的任何其他信息。

编辑1: 所有项目都设置为使用“Release | Any CPU”配置进行构建。如果我将它们全部更改为“Debug | Any CPU”,则构建将在代理1和2上成功。

1 个答案:

答案 0 :(得分:1)

RDP进入构建服务器(如果可能,作为构建服务帐户)。启动VS 2012,从构建工作目录打开解决方案,并尝试构建它。具体来看参考文献对话框,看看它们旁边是否有任何感叹词并进行诊断。

如果这不是一个选项,请打开诊断日志记录(在对构建进行排队时的选项中),然后检查MSBuild日志,看看它是否找不到任何引用(我怀疑它)是)。

相关问题