MSTest Visual Studio 2015:未找到测试容器直接或间接引用的程序集或模块“xxxxxxx”

问题描述 投票:2回答:1

当我们在构建服务器上执行MSTest作为CI构建和测试的一部分时,我看到了此警告的三个实例。这导致我们所有的单元测试在服务器上失败。

警告:测试运行部署问题:未找到测试容器“pathToOur.test.dll”直接或间接引用的程序集或模块“MySql.Data”。

警告:测试运行部署问题:未找到测试容器“pathToOur.test.dll”直接或间接引用的程序集或模块“Npgsql”。

警告:测试运行部署问题:未找到测试容器“pathToOur.test.dll”直接或间接引用的程序集或模块“System.Data.SQLite”。

我在我们的解决方案中找不到引用这三个组件中的任何一个的任何地方。它们不存在于构建服务器上,因此我不能将它们添加到GAC中。而且,它们不存在于我的本地机器中,它可以构建解决方案并运行所有测试而没有任何问题。

任何帮助或建议,以追踪这些参考和/或如何防止它们影响CI构建和测试将不胜感激。

unit-testing dll visual-studio-2015 continuous-integration mstest
1个回答
1
投票

在我看来,这似乎是一种黑客行为,但它已经为我解决了这个问题。

确定Elmah.dll包含的文本与MSTest未能找到的所有三个组件相对应。我从Elmah Downloads页面下载了丢失的dll的二进制文件。

我将它们放到我们的构建服务器上的一个文件夹中,然后将它们全部添加到GAC中。

作为后续CI代码检查操作的一部分,我们的解决方案中的自动化单元测试然后执行时没有错误。

© www.soinside.com 2019 - 2024. All rights reserved.