Moq 4.13.1 与 Task.Extensions 不兼容

Nes*_*ano 8 .net c# moq

我正在尝试运行使用 Moq 的单元测试。问题是我一直在使用 Visual Studio 2019 获得以下信息。

消息:System.TypeInitializationException:“Moq.DefaultValueProvider”的类型初始值设定项引发异常。----> System.IO.FileLoadException:无法加载文件或程序集“System.Threading.Tasks.Extensions,版本=4.2.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

我使用的是最新版本的 Moq 4.13.1 和 System.Threading.Tasks.Extensions v.4.5.3 是否有任何特定版本的 System.Threading.Tasks.Extensions 或 .NET 应该与 Moq 一起使用?

kal*_*sov 7

您可以将应用程序配置文件添加到您的测试项目 (App.config) 并执行绑定重定向到当前安装的 System.Threading.Tasks.Extensions 版本,例如

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)