1

在一个 .NET 项目中,我使用 XUnit 来编写和运行我的单元测试。在本地,一切正常。但是当我尝试使用 Jenkins 运行测试时它失败了。

错误信息是:

Test:
  xUnit.net MSBuild runner (64-bit .NET 4.0.30319.1)
  xunit.dll:     Version 1.9.1.1600
  Test assembly: <http://…/Foo.Tests.dll>

Unhandled Exception: System.IO.FileLoadException: Could not load file or
assembly 'xunit.extensions, Version=1.6.1.1521, Culture=neutral,
PublicKeyToken=8d05b1bb7a6fdb6c' or one of its dependencies. The located
assembly's manifest definition does not match the assembly reference.
(Exception from HRESULT: 0x80131040)

奇怪的是,请求的版本(1.6.1.1521)没有被使用,既不在直接链接的程序app.config集中,也不packages.config在直接链接的程序集中。

我的猜测是 NuGet 的某些东西(我们使用该Allow NuGet to download missing packages选项)是错误的,但至少没有明显的失败。

知道问题可能是什么,或者我们如何更好地了解在哪里搜索?

4

2 回答 2

0

解决了:app.config带有程序集绑定重定向的文件在错误的项目中……</p>

于 2013-09-10T14:53:12.577 回答
0

我收到了同样的错误信息。

项目 A 引用了与项目 B 不同的 xunit 版本,并且项目 A 使用了项目 B 的属性。升级项目 B 的 xunit 版本解决了这个问题。

于 2014-02-26T18:25:20.180 回答