2

在关注了几个详细介绍如何让 xUnit 与 Team Services Build vNext 一起工作的博客之后:

这些都不适合我。通过检查构建日志,我得到每个测试程序集的以下警告。

--------------------
 Warning: [xUnit.net 00:00:00.1644156] Exception discovering tests from CHO.SAM.Business.Test: System.BadImageFormatException: 
 Could not load file or assembly 'c:\_Work\473cef3c\CHO\CHO.ALL\Tests\CHO.SAM.Business.Test\CHO.SAM.Business.Test\bin\Debug\xunit.execution.desktop.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
--------------------

有没有人见过这个?如果是这样,您是否找到解决方案?

我的想法是;我的测试项目是使用 .NET Framework 4.6 编译的,我想知道这是否会导致问题?如果是这样,我将不得不转移到 nUnit 或其他东西,因为我认为仅仅为了使用单个测试框架而更改编译是不对的。

4

5 回答 5

2
  • 将“/Framework:Framework45”添加到“高级/其他控制台选项”(在 .NET 4.5 下运行)
  • 将“/Framework:Framework40”添加到“高级/其他控制台选项”(在 .NET 4.0 下运行)
  • 将“Advanced/VSTest 版本”更改为“Visual Studio 2013”​​(在 .NET 3.5 下运行)
于 2015-11-30T13:14:11.860 回答
1

我有同样的问题。添加 UI 测试并没有为我解决这个问题。我找到了两种可行的替代方案:

  1. 使用.net 4.5

    或者

  2. 将 VSTest 任务的高级选项设置为使用 2013 而不是 2015。

希望这将很快得到解决。

于 2015-10-12T18:33:17.523 回答
1

此错误通常是由在 x86 测试运行器上运行的 x64 编译程序集引起的,反之亦然。检查正在运行的解决方案构建配置。

于 2015-10-02T08:16:46.800 回答
0

我在使用 .Net Core 类库针对 .Net Core Web 项目 (.Net Framework) 运行 xUnit 测试时遇到了这个问题。为我解决这个问题的方法是将运行测试的默认处理器更改为 VS2015 中的 X64,方法是:

菜单栏 -> 测试 -> 测试设置 -> 默认处理器架构 -> X64

此解决方案由@RehanSaeed 发布在这里https://github.com/dotnet/cli/issues/3103

于 2016-10-27T15:48:39.300 回答
0

最后,我添加了一个 Visual Studio Coded UI 测试项目并删除了它的所有内容(一个类),它是空的!

我假设它添加了一个参考或构建服务器认为它需要的东西。

我现在正在发现、运行和覆盖代码的单元测试。

奇怪!

它可以工作,但我不知道为什么......

于 2015-10-05T02:02:20.807 回答