项目中的每个测试都说“不包括在线单元测试”?

时间:2018-08-24 13:19:52

标签: visual-studio live-unit-tests

我已经根据文档https://docs.microsoft.com/en-us/visualstudio/test/live-unit-testing-faq?view=vs-2017添加了测试适配器和框架包。

我在每个测试旁边都看到了“烧杯”符号\图标,但是悬停状态表示该符号不在实时单元测试中。

所有测试都可以手动正常运行,我尝试右键单击并告诉它包括在内,但是什么也没做。我在这里没有任何手动排除任何代码的代码...

.net 4.7.1项目

EDIT

有错误

  

[10:03:48.205错误] [TestRunner 1]发生异常   调用执行程序'executor:// mstestadapter / v2':无法加载文件   或程序集'System.Xml.ReaderWriter,版本= 4.1.1.0,   文化=中性,PublicKeyToken = b03f5f7f11d50a3a'或其中之一   依赖性。该系统找不到指定的文件。不能   加载文件或程序集'System.Xml.ReaderWriter,版本= 4.0.0.0,   文化=中性,PublicKeyToken = b03f5f7f11d50a3a'或其中之一   依赖性。系统找不到指定的文件。

这是一个4.7.1项目,正在测试另一个基于EFCore的4.7.1项目。

2 个答案:

答案 0 :(得分:1)

我在“实时单元测试”类别的输出窗口中遇到了类似的相同错误,发现以下错误:

FatalError - System.AggregateException: One or more errors occurred. ---> System.Exception: Could not load file or assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

我下载了该nuget软件包的最新版本,但没有帮助,我基本上不得不在配置文件中强制使用4.0.0.0版本,由于dll的实际版本,这没有多大意义是4.1.2.0。无论如何,在那之后我停止并开始了Live Unit Testing,现在它可以正常工作了。希望这会有所帮助。

<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.0.0.0" />

答案 1 :(得分:0)

"Could not load file or assembly"可能有不同的原因:错误的程序集引用或错误的程序集重定向。

  • 在第一种情况下,您可以添加程序集重定向(FabianVal的答案)

[0] https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

  • 在第二种情况下,您可以更正或删除重定向。我在update-package -reinstall之后引入了错误的重定向,并且我不得不通过删除错误的重定向来重新编辑csproj文件。

快速grep可能有助于找到罪魁祸首:get-childitem -recurse *csproj | select-string -patte rn "System.Runtime, Version=4.0.0.0"