web-dev-qa-db-ja.com

TFSテストがフレームワークの設定と一致しません

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の設定はどこから来たのですか?指定された場所が見つからず、変更方法がわかりません。

20
Sam

VSTestに指定できる/Framework:パラメーターがあります。

あなたの場合、/Framework:.NETFramework,Version=v4.7.1を指定する必要があります

詳しくは https://msdn.Microsoft.com/en-us/library/jj155796.aspx?f=255&mspperror=-2147217396

5
Psddp

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')" />

この回答が時間の節約に役立つことを願っています。

1
Michael Smale

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設定を変更する必要はありませんでした。

0
Ogglas

NUnit3TestAdapter 3.13.0をインストール

どこで見つけましたか?最新バージョンとして3.12.0が表示されます

0
Erik Norman