NUnit3 抛出异常 System.Runtime,尝试在 NUnit3 控制台中 运行 测试时找不到版本=4.2.0.0

NUnit3 throws exception System.Runtime, Version=4.2.0.0 not found while trying to run test in NUnit3 console

Environment:
.Net Core 2.0
visual Studio Professional 2017
NUnit3
OpenCover (For code coverage)
ReportGenerator(For code coverage report)

嗨,Nunit 团队, 我非常熟悉 MS Test 框架,并且在这方面进行了大量工作,但正在测试 NUnit 框架的适用性,因此想围绕它做一个小的 POC。我创建了一个小型类库和一个单元测试项目。以下是已安装的 NuGet 包:

NUnit 3.7.1

但是当我尝试 运行 来自控制台的测试用例时 运行ner 如下所示,我得到异常提示 System.Runtime,找不到版本=4.2.0.0 程序集。

C:\Users\UN\.nuget\packages\nunit.consolerunner.8.0\tools>nunit3-console.exe D:\Code_Trials\BoMLibrary\BomTest\bin\Debug\netcoreapp2.0\BomTest.dll

异常详情:

Errors, Failures and Warnings

Invalid : D:\Code_Trials\BoMLibrary\BomTest\bin\Debug\netcoreapp2.0\BomTest.dll
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
----> Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Settings
DisposeRunners: True
WorkDirectory: C:\Users\Smukherjee.nuget\packages\nunit.consolerunner.8.0\tools
ImageRuntimeVersion: 4.0.30319
ImageTargetFrameworkName: .NETCoreApp,Version=v2.0
ImageRequiresX86: False
ImageRequiresDefaultAppDomainAssemblyResolver: False
NumberOfTestWorkers: 4

我真的不确定为什么会这样?无论我尝试什么都无法通过此错误。此外,当我尝试从 Nuget 安装程序集时,我什至找不到版本为 4.2.0.0 的程序集。

尝试安装 System.Runtime 的 4.3.0.0 版,但没有成功。你能帮忙解决一下吗?

奇怪的是,我有一个示例单元测试项目(作为 opencover nuget 安装的一部分),它针对 .Net Framework 4.5 并安装了 NUnit2.6.7 包,当我尝试 运行 使用 NUnit3 时控制台它就像魅力一样。

甚至,安装 NUnit3 最新稳定版 3.10.1.0 也无济于事。此外,这肯定不是 Opencover 问题,因为 opencover 控制台只是将测试 运行 请求传递给 NUnit 控制台。所以问题必须围绕 NUnit。

如果您需要更多相关信息,请告诉我。

在这里找到了答案https://github.com/nunit/nunit/issues/2763

NUnit Console 不会 运行 .NET Core 测试 - 您需要改用 dotnet 测试。看看这个页面:

https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard