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



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

警告:测试

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

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

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

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

在跟踪这些参考和/或如何防止它们影响 CI 构建和测试方面的任何帮助或建议将不胜感激。

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

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

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

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

最新更新