使用Team Foundation Build,我正在调用xunit.net xunit任务,即/platform:AnyCpu
,但我对TFSBuild.proj的TeamBuild调用是vanilla。
我有许多特定于x64的测试(`/ platform:x64'),它会被ImageFormatException阻塞。我还有一个标记为x86的测试组件,因此不能全部或全部。
NUnit在MSBuild任务上有一个平台开关,xunit不是。
我可以想到以下方法:
其他人在处理此类问题方面取得了哪些成功?
答案 0 :(得分:4)
xUnit.net在与运行程序相同的进程中运行其测试,位于单独的AppDomain中。由于MSBuild标记为仅32位,因此使用MSBuild xunit任务运行的任何测试都必须以32位模式运行。
最简单的解决方法是不使用MSBuild任务,而是转向控制台运行程序。由于这会创建一个新进程,因此默认情况下它将以64位模式运行。此外,如果您使用的是1.5 beta版,我们已经包含了可以强制使用32位模式的EXE(xunit.console.x86.exe),它可以解决您的32位与64位测试问题。