1

我们在不同的 DLL 中有一些单元测试。这些 DLL 也包含我们的主要代码,因此它们之间确实存在一些依赖关系,尽管我认为测试不应该跨越 DLL 边界。但是,我们在链接器命令行上为一堆 DLL 做了很多 /DELAYLOAD,但不是直接在彼此之间。

如果我们使用命令行加载测试:

vstest.console.exe dll1.dll dll2.dll /platform:x86 /UseVsixExtensions:true /inIsolation

它有效,但是,如果我们使用命令行

vstest.console.exe dll2.dll dll1.dll /platform:x86 /UseVsixExtensions:true /inIsolation

当它开始执行dll1.dll.

我们得到的错误信息是:

Failed   dll1_test1
Error Message:
   Failed to set up the execution context to run the test

并为该 DLL 中的所有测试重复该消息。

不过,这似乎不是 64 位版本的问题。在 VS IDE 中运行所有测试时也不会发生这种情况。

有谁知道从哪里开始寻找确定为什么顺序对 32 位案例很重要?

4

0 回答 0