2

Team Services Build vNext で xUnit を動作させる方法を詳述したいくつかのブログをフォローした後:

どれも私にとってはうまくいきませんでした。ビルド ログを調べると、テスト アセンブリごとに次の警告が表示されます。

--------------------
 Warning: [xUnit.net 00:00:00.1644156] Exception discovering tests from CHO.SAM.Business.Test: System.BadImageFormatException: 
 Could not load file or assembly 'c:\_Work\473cef3c\CHO\CHO.ALL\Tests\CHO.SAM.Business.Test\CHO.SAM.Business.Test\bin\Debug\xunit.execution.desktop.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
--------------------

誰もこれを見たことがありますか?もしそうなら、あなたは解決策を見つけましたか?

私の考えは次のとおりです。私のテスト プロジェクトは .NET Framework 4.6 を使用してコンパイルされていますが、これが問題の原因ではないかと考えていました。もしそうなら、単一のテストフレームワークを使用するためだけにコンパイルを変更するのは正しくないと思うので、nUnit などに移行する必要があります。

4

5 に答える 5

2
  • 「/Framework:Framework45」を「Advanced/Other console options」に追加する (.NET 4.5 で実行する場合)
    または
  • 「/Framework:Framework40」を「Advanced/Other console options」に追加する (.NET 4.0 で実行する場合)
    または
  • 「Advanced/VSTest バージョン」を「Visual Studio 2013」に変更します (.NET 3.5 で実行するため)。
于 2015-11-30T13:14:11.860 に答える
1

このエラーは通常、x86 テスト ランナーで実行されている x64 でコンパイルされたアセンブリが原因で発生します。また、その逆も同様です。実行中のソリューション ビルド構成を確認します。

于 2015-10-02T08:16:46.800 に答える
1

これと同じ問題がありました。UI テストを追加しても問題は解決しませんでした。機能する2つの代替案が見つかりました:

  1. .net 4.5 を使用

    また

  2. 2015 ではなく 2013 を使用するように VSTest タスクの詳細オプションを設定します。

うまくいけば、これはすぐに修正されます。

于 2015-10-12T18:33:17.523 に答える
0

最後に、Visual Studio コード化された UI テスト プロジェクトを追加し、その内容 (クラス) をすべて削除しました。空です!

ビルドサーバーが必要だと感じた参照または何かが追加されたと思います。

現在、単体テストが検出され、実行されており、コード カバレッジが適用されています。

変だ!

動作しますが、理由がわかりません...

于 2015-10-05T02:02:20.807 に答える