Nunit3从该版本不存在的程序集中显示System.AggregateException

时间:2018-09-07 11:06:40

标签: nunit nunit-3.0

这是错误:

  

消息:System.AggregateException:发生一个或多个错误。
  ----> System.IO.FileLoadException:无法加载文件或程序集'Microsoft.AspNet.SignalR.Client,版本= 2.1.2.0,区域性=中性,   PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。的   找到的程序集的清单定义与程序集不匹配   参考。 (来自HRESULT的异常:0x80131040)

  • 我们仅运行Microsoft.AspNet.SignalR.Client的2.3.0版本。
  • 我在整个解决方案上运行了一个grep,找不到一个不使用2.3.0的实例。或运行错误中提到的版本
  • 测试本身没有对该库的引用
  • 我删除了所有bin文件夹,并进行了清理和重建。

更新: 我很确定问题不是nunit。而是显示了症状。您如何查找该引用的使用位置?例如App.configs仅显示范围:

<assemblyIdentity name="Microsoft.AspNet.SignalR.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.3.0.0" newVersion="2.3.0.0" />

1 个答案:

答案 0 :(得分:0)

我在测试项目中以及在运行测试的项目中添加了一个app.config,声明了以下内容:

<assemblyIdentity name="Microsoft.AspNet.SignalR.Client" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.3.0.0" newVersion="2.3.0.0" />

现在,异常消失了。我仍然认为这不是正确的解决方案。通常,Visual Studio必须知道哪个程序集版本是正确的,而不必每次都声明一个app.config。