【发布时间】:2014-08-11 14:41:03
【问题描述】:
我会尽量做到这一点。我有一个 VS 2013 解决方案,其中有几个项目都针对 .NET 4.5 框架。当我针对具有 VS 2012 和 .NET 4.5 Framework 的构建代理运行构建时,我遇到了几个与 Project.UnitTests 项目相关的错误,如下所示:
为默认目标构建 Project.UnitTests.csproj...
错误 CS0234:命名空间“Project”中不存在类型或命名空间名称“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
在 Agent 1 上构建成功,但在 Agent 2 上失败。整个过程中唯一失败的项目是 Project.UnitTests。真的不知道该去哪里。尽量保持这个简短,但如果细节太短,我可以提供任何需要的额外信息。
编辑 1: 所有项目都设置为使用“Release | Any CPU”配置进行构建。如果我将它们全部更改为“调试 | 任何 CPU”,构建将在代理 1 和 2 上成功。
【问题讨论】:
-
你有没有登录失败的机器并在vs中构建它?
-
如果你使用VS构建你可能会遇到你的版本没有单元测试能力的问题。或许?还是您使用 msbuild 构建?
标签: .net visual-studio tfs tfsbuild