TFS 2012 + VS 2013 + Microsoft Fakes 编译问题(仅在 TFSBuild 期间)



我们使用的是TFS 2012(更新3)和VS 2013 RC。 我们有一个包含两个项目的.sln文件 - 主项目/程序集和一个 UnitTest 项目。 单元测试项目正在利用Microsoft假货。 在Visual Studio(我们使用的是Premium)中,我可以编译.sln并运行测试。 在生成代理上,我可以使用 Visual Studio 编译和生成.sln并运行测试。 但是,当我们对构建进行排队时,它无法构建 UnitTest 项目,因为它找不到 Fakes 程序集。 它似乎不像在Visual Studio中构建时那样动态创建它。 通常在VS中创建fakes dll并将其放在FakeAssemblies文件夹中。 构建失败后,我可以登录并查看它根本没有创建 FakeAssemblies 目录。

错误是...C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1605): 无法解析此引用。找不到程序集"System.Web.Http.5.0.0.0.Fakes"。检查以确保磁盘上存在程序集。如果代码需要此引用,则可能会收到编译错误。

我们的构建使用默认模板 - 并且我们选择构建.sln(具有主程序集和单元测试项目)。 我们不应该在该.sln中包含单元测试吗? 在构建过程中,是否有其他方法应该编译 UnitTest?

有谁知道为什么构建不会像Visual Studio那样动态创建Fake程序集?

谢谢!!!

我遇到了同样的问题,但使用TFS 2012和VS 2012,并通过在TFS Server中安装Visual Studio来解决它。因此,如果您已经在那里安装了VS,则此建议对您没有帮助。

首先,我尝试将该程序集从本地计算机中的文件夹复制到 TFS 服务器中的同一文件夹。它位于c:Program Files (x86)Microsoft Visual Studio 11.0Common7IDEPublicAssembliesMicrosoft.QualityTools.Testing.Fakes.dll

问题解决了,成功构建了一个测试项目,但是每个使用假货的测试都没有通过。有一个例外:

Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationException: 单元测试隔离检测初始化失败。请重新启动 Visual Studio 并重新运行此测试。

我没有时间,决定进行第二步,并在TFS机器中安装Visual Studio,所有问题都消失了

最新更新