我们刚刚从2013年迁移到TFS 2015,现在在构建假货时遇到大量TFS Build错误。有许多错误看起来像这样(Admin Web app有一个名为Admin.tests的测试项目):The type 'System.Data.Entity.DbContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. [C:\Builds\$(BuildAgentId)\$(BuildDefinitionPath)\f3651c6c\TeamProject\WebApps\Admin\Admin.Tests\obj\Release\Fakes\ctp\f.csproj]
。
这些解决方案在本地构建得很好或在TFS2013 Build系统下构建。假货配置中是否有任何需要更改的内容?
答案 0 :(得分:0)
两个soln:
1)确保"允许NuGet在构建期间下载丢失的包"勾选。
转到工具 - >选项 - >包管理器 - >一般
2)看起来你有错误版本的EntityFramework。请使用NuGet软件包安装程序下载正确的版本。
答案 1 :(得分:0)
我们在构建服务器上遇到很多关于Fakes的问题,我们暂时解决它的唯一方法是将Fakes /和FakesAssemblies /文件夹签入TFS。
这当然会在本地编译时增加问题,因为文件现在只读它们是源控制的。
我们实际上正在远离使用Fakes而是坚持使用像MoQ这样的Mocking框架。