Win Mobile 5 と 6 (Professional) エミュレーターの両方で、私の開発マシンで正常に動作するユニット テストがいくつかあります。
ビルド サーバーで実行すると、ユニット テストの一部が失敗しますが、Win Mobile 6 エミュレーターでのみ失敗します (すべてのテストは Win Mobile 5 エミュレーターでパスします)。
失敗したテストには次のようなエラーがあります。
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'..
と
Test method XXXXXMobile.Test.PermissionTests.TestMenuBarPermissions threw exception: System.MissingMethodException: Method not found: op_Implicit System.Object..
テストを開始するコマンド ラインは次のとおりです。
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 も含まれます。
しばらくこれに頭を悩ませていたので、一部のテストだけが失敗し、1 台のマシンと 1 台のエミュレーターでしか失敗しない理由がわかりません。MSTest.exe と VSTestHost.exe の両方で診断ログを有効にしても、これ以上役立つエラー メッセージを取得できませんでした。
どんな提案もありがたく受け取った。