VSTSビルドで単体テストを実行すると問題が発生します。 Visual Studioですべてのテストをローカルで起動すると、すべてが正常に動作します。エラーはまったくありません。完璧です。しかし、VSTSビルドのテストタスクを介してテストを起動すると、次のエラーが発生します。
Executor 'executor:// xunit/VsTestRunner2/uap'の呼び出し中に例外が発生しました:ファイルまたはアセンブリを読み込めませんでした 'System.IO.FileSystem、Version = 4.0.1. 、Culture = neutral、PublicKeyToken = *********** 'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。
私のテストプロジェクトは次のように設定されています。
「targetFramework」が「net462」に設定されたバージョン2.4.0の「xunit.runner.visualstudio」(packages.config内で設定)
.NET Framework 4.6.2
私が持っているビルドサーバーでは:
Visual Studio 2017、v15.7.5
Visual Studio 2015、v14.
手がかりが足りなくなって…きっと何かが足りない…助けてくれてありがとう
PS:
[〜#〜]編集[〜#〜]
Nugetパッケージ "FluentAssertions" v5.4.1および "System.ValueTuple" v4.5.があります。そのうちの1つと両方をダウングレードしようとしました。失敗した。しかし、私は「FluentAssertions」が「System.ValueTuple」に依存していることを見ました
編集2
@ PatrickLu-MSFTが言ったように、vsテストタスクのバージョンを1に渡すと問題が解決しました。しかし、よく見てみると、利用可能なテストプラットフォームのバージョンは2015年と2013年です。
VSテストタスクバージョン2を選択する場合、次の選択肢があります。
テストバージョン2と比較したいのですが(将来の更新の場合、行き詰まりたくない...)。 "Latest"または "Visual Studio 2017"に設定されたテストプラットフォームバージョンを使用していると、機能しません。 "Visual Studio 2015"を選択すると、機能します...つまり、私が指摘することは次のとおりです。
そう:
編集
ビルドエージェントのサーバーにリモートで接続し、VS2017からテストを実行した後、ホストサーバーのVisual Studio 2017の出力とローカルのVisual Studio 2017の出力を比較します。
ホスト上の「xUnit.net VSTest Adapter v2.4.0(32-bit Universal Windows)」に問題はありますか?
私はこれと同じ問題に遭遇し、「カスタムテストアダプターへのパス」を「Source\packages\xunit.runner.visualstudio.2.4.0\build_common」に設定することで、特に正しいテストアダプターを指すように変更することで解決しました。 (パスは、packagesフォルダーがリポジトリーのどこにあるかを考慮して変更する必要があります。)
これは明らかにデフォルトでVSTSが役立つようにして、テストアダプターの作業ディレクトリ構造全体をスキャンし、それらのallをロードするために発生しますが、xUnit Visual StudioテストアダプターNugetパッケージは.Net CoreのテストアダプターをインストールしますそしてUWPも同様に、VSTSはそれらを喜んでロードし、爆破します。