【问题标题】:MSTest.exe gives assembly or module not found warning [duplicate]MSTest.exe 给出未找到程序集或模块的警告 [重复]
【发布时间】:2013-08-29 16:06:40
【问题描述】:

我有一个 Visual Studio 2012 解决方案,其中包含一个 C# 项目和一个引用 C# 项目输出的测试项目。测试项目在 Visual Studio 中运行良好。

但如果我在开发人员命令提示符下使用 MSTest.exe 运行它:

MSTest.exe /testcontainer:mytest.dll

它没有给出很多警告,例如:

测试运行部署问题:程序集或模块 'Microsoft.SharePoint.Search.Extended.Query' 直接或间接 未找到测试容器“(mytest.dll 的路径)”引用的内容。

我不认为 Visual Studio 正在复制不属于解决方案的引用的 dll。

解决办法是什么?如何使用 MSTest.exe 运行我的测试套件

【问题讨论】:

  • 我遇到了类似的问题,在这里得到了解决方案:stackoverflow.com/a/15133291/914033 他建议使用 vstest.console.exe 而不是 mstest.exe,它对我有用!
  • 我想知道它怎么会是一个没有找到程序集或模块的警告。不应该是错误吗?

标签: c# visual-studio unit-testing dll mstest


【解决方案1】:
  1. 您可以从 GAC 引用程序集
  2. 在使用DeploymentItemAttribute 对测试方法运行测试之前,您可以指定哪些文件应与已编译的测试程序集一起部署。

【讨论】:

  • 谢谢亚历克斯。但是请您详细说明第二点。由于我缺少很多参考资料,因此我无法 GAC 每一个参考资料。
  • 如果我对此感兴趣,我遇到了一个未找到 特定 程序集的问题,该问题的公认答案帮助我解决了这个问题:EntityFramework.SqlServer not deployed in web publish。跨度>
猜你喜欢
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 2019-08-15
  • 1970-01-01
  • 1970-01-01
  • 2013-12-24
  • 2021-04-05
  • 1970-01-01
相关资源
最近更新 更多