Unit testing 为什么我的一些SmartDevice单元测试在一台机器上失败,而不是在另一台机器上失败?

Unit testing 为什么我的一些SmartDevice单元测试在一台机器上失败,而不是在另一台机器上失败?,unit-testing,emulation,windows-mobile-6,smart-device,Unit Testing,Emulation,Windows Mobile 6,Smart Device,我有一些单元测试在我的开发机器上运行良好,在Win Mobile 5和6(专业)模拟器上运行良好 在构建服务器上运行某些单元测试失败,但仅在Win Mobile 6 emulator上失败(所有测试都在Win Mobile 5 emulator上通过) 失败的测试有如下错误: Test method XXXXXMobile.Test.ManifestTests.TestCrewManifest threw exception: System.MissingMethodException: Cou

我有一些单元测试在我的开发机器上运行良好,在Win Mobile 5和6(专业)模拟器上运行良好

在构建服务器上运行某些单元测试失败,但仅在Win Mobile 6 emulator上失败(所有测试都在Win Mobile 5 emulator上通过)

失败的测试有如下错误:

Test method XXXXXMobile.Test.ManifestTests.TestCrewManifest threw exception: System.MissingMethodException: Could not load type 'XXXXXMobile.Controllers.ManifestController' from assembly 'XXXXXMobile.Controllers, Version=1.0.4049.32739, Culture=neutral, PublicKeyToken=null'..

启动测试的命令行是:

C:\hudson\jobs\XXXXX Mobile (WinMobile 6 Emulator Tests)\workspace>e:\VS9\Common
7\IDE\MSTest.exe /runconfig:YYYY\WinMobile6Emulator.testrunConfig /testcontainer
:YYYY\XXXXXMobile.Test\bin\Release\XXXXXMobile.Test.dll
testrunconfig文件未引用。我认为我对默认设置的唯一更改是: -启用部署:选中 -主机类型:智能设备 -平台:Windows Mobile 6 Professional SDK -设备:Windows Mobile 6 Professional Emulator

包含测试运行容器dll的目录还包含上面第一个错误中提到的控制器dll

有一段时间我一直在思考这个问题,我不明白为什么只有一些测试失败,而且只有在一台机器和一个模拟器上。通过在MSTest.exe和VSTestHost.exe上打开诊断日志记录,我无法获得任何更有用的错误消息


感谢您的建议。

正如经常发生的那样,提问后不久就会给出答案

在本例中,问题是生成服务器上的仿真器没有安装.Net 3.5。从VS运行应用程序将安装.NET3.5,但运行单元测试不会。在开发人员的机器上,我已经运行了应用程序,然后保存了状态(以避免每次运行时都必须重新安装.Net 3.5)。这还没有在生成服务器上完成

C:\hudson\jobs\XXXXX Mobile (WinMobile 6 Emulator Tests)\workspace>e:\VS9\Common
7\IDE\MSTest.exe /runconfig:YYYY\WinMobile6Emulator.testrunConfig /testcontainer
:YYYY\XXXXXMobile.Test\bin\Release\XXXXXMobile.Test.dll