xUnit在Jenkins下失败:BadImageFormatException

时间:2017-01-29 03:05:00

标签: jenkins windows-server-2008 xunit xunit.net

xUnit测试在Jenkins下运行。

我运行x86 / x64调试/发布配置的测试。 在Jenkins下运行时,某些配置失败并出现错误。

运行命令和错误消息如下:

values

当我从命令行运行相同的批处理文件时,我用来运行Jenkins作业,一切正常。

我尝试将Jenkins作为服务和独立应用程序运行。我在两种情况下都有错误。

我尝试在此dll上运行packages\xunit.runner.console.2.1.0\tools\xunit.console.exe bin\x86\Release\MyDllName.dll -verbose -parallel none -diagnostics xUnit.net Console Runner (64-bit .NET 4.0.30319.42000) System.BadImageFormatException: Could not load file or assembly 'MyDllName, Version=1.3.549.4300, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format. <Absolute-path-to-file>\RunTests.1.proj(59,5): error MSB3073: The command "packages\xunit.runner.console.2.1.0\tools\xunit.console.exe bin\x86\Release\MyDllName.dll -verbose -parallel none -diagnostics" exited with code 1. ,但未找到有关缺少依赖项的错误消息。

如何在Jenkins下的所有配置上成功运行ILSpy

我的DLL用.NET 4.6.1构建。
Jenkins版本:2.32.1,但我对旧版本也有同样的问题 服务器操作系统:Windows 2008 R2 Enterprise xunit.runner.console:2.1.0

1 个答案:

答案 0 :(得分:1)

这可能是有问题的DLL具有32位bittedness约束的结果。

你需要

一个。运行32位运行程序(例如,如果某些dep需要32位DLL),

湾为AnyCpu构建测试程序集(但使用“Prefer 32 bit”标志)[或x64]

See lots more similar cases in this answer