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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSTest Visual Studio 2015:未找到测试容器直接或间接引用的程序集或模块“xxxxxxx”相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

答案

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

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

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

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

以上是关于MSTest Visual Studio 2015:未找到测试容器直接或间接引用的程序集或模块“xxxxxxx”的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2008 中分析 MsTest 的单元测试?

针对 Visual Studio 2012 本机 C++ 测试从命令行运行 mstest

Visual Studio 2013/2015 测试项目模板 - 用于 NUnit?

在 Visual Studio 2015 for UWP 中加速单元测试的任何方法

Visual Studio 2010 和测试驱动开发

Visual Studio 2010 中的负载测试执行时间