TFS 2012からTFS 2018 SP2RC2にソリューションを移動しようとしていますが、ユニットテストを正しく実行できません。すべてのプロジェクトは4.7.1にリターゲットされており、x86プラットフォームとして構築されています。デプロイメントアイテムのみを提供するtestsettingsファイルがあります。新しいVSTest Platform Installerタスク(MSの指示どおり)とVS Test Taskを使用しています。テスト実行の開始時に、次のメッセージが表示されます。
Test run will use DLL(s) built for framework .NETFramework,Version=v4.5 and platform X86. Following DLL(s) do not match framework/platform settings.
したがって、4.7.1を対象とするため、すべてのテストはスキップされます。この4.5の設定はどこから来たのですか?指定された場所が見つからず、変更方法がわかりません。
VSTestに指定できる/Framework:
パラメーターがあります。
あなたの場合、/Framework:.NETFramework,Version=v4.7.1
を指定する必要があります
詳しくは https://msdn.Microsoft.com/en-us/library/jj155796.aspx?f=255&mspperror=-2147217396
MSTestテストランナーを使用して実行できるテストがない別のマシンで開発されたテストプロジェクトの実行に問題がありました。あなたの質問のメッセージに加えて、私もメッセージを得ました:
テストディスカバーとエグゼキューターが登録され、プラットフォームとフレームワークのバージョン設定が適切であることを確認して、再試行してください。
検出テストが終了しました:0が見つかりました
私の場合、.csprojファイルをアンロードして更新し、ルートProject
タグの下に次のインポートを追加することで解決しました。
<Import Project="..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props')" />
この回答が時間の節約に役立つことを願っています。
Visual Studio 2019とNUnit 3.12.0
を使用してこのエラーが発生しました:
テスト実行では、フレームワーク.NETFramework、Version = v4.5およびプラットフォームX86用にビルドされたDLLを使用します。次のDLLは、フレームワーク/プラットフォームの設定と一致しません。 Project.UnitTests.dllは、Framework 4.5.2およびPlatform AnyCPU用に構築されています。
NUnit3TestAdapter 3.13.0
をインストールすると、すべてが機能し始めました。フレームワークのバージョンまたはCPU設定を変更する必要はありませんでした。
NUnit3TestAdapter 3.13.0をインストール
どこで見つけましたか?最新バージョンとして3.12.0が表示されます