Visual Studio 2019を16.4.0に更新した後、ターゲットフレームワーク2.2でテストを実行できません


25

Visual studio 2019バージョン16.4.0に更新しました。このバージョンには.NET Core SDK3.1.100が含まれています。

その後、Target Framework2.2のプロジェクトで実行している単体テストをいくつか実行しようとしましたが、実行できません。次のエラーが発生します。

Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: Testhost process exited with error: It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '2.2.0' was not found.
  - The following frameworks were found:
      3.1.0 at [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
You can resolve the problem by installing the specified framework and/or SDK.

上記のパスに移動すると、3.1.0フォルダーしか見つかりませんでした。インストールされているSDKを一覧表示すると、次のようになります。

dotnet --list-sdks 
2.1.602 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.701 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
2.1.802 [C:\Program Files\dotnet\sdk]
2.2.100 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]
2.2.207 [C:\Program Files\dotnet\sdk]
2.2.300 [C:\Program Files\dotnet\sdk]
2.2.301 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
2.2.402 [C:\Program Files\dotnet\sdk]
3.1.100 [C:\Program Files\dotnet\sdk]

インストールされているランタイムを要求すると、次のようになります。

dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

したがって、リストされているランタイムにインストールされているMicrosoft.AspNetCore.App '、バージョン' 2.2.0 'が表示されます。

一方、私が行う場合:テスト内からの単体テストプロジェクトの「dotnetテスト」Package Manager Consoleが実行されています。

私もVisual Studio Codeインストールしてあり、変更を加えずに、それらのテストをデバッグすることもできます。

だから、私はここで少し迷っていて、たとえばC:\ Program Files \ dotnet \ shared \から2.2.0フォルダを手動でコピーしようとしましたが、その後、テストを実行しようとしたときに他のエラーが発生しました。

誰かが私を助けたり、私を正しい方向に向けたりできますか?


1
テストプロジェクトのパッケージ参照からMicrosoft.NET.Test.Sdk.dllへの参照を削除することで解決できる非常に類似したエラーがありました。しかし、テストの実行/デバッグに64ビットアーキテクチャを使用するオプションを変更することも機能すると思います。
ディランニコルソン

回答:


53

@coloradoeosのソリューションを調べた後、x86バージョンをインストールする必要なく、これを解決する別の方法を発見しました。

テスト> anyCPUプロジェクトのプロセスアーキテクチャ> x64に移動するだけです

x64を選択すると、テストは正常に実行されます。

ここに画像の説明を入力してください


3
私はあなたの解決策を試しました、そしてそれはうまくいきます。さらに、追加のものをダウンロードしてインストールする必要はありません。CPUをX64に変更するだけで十分です。私がまだ疑問に思っている唯一の質問は、何が起こったのか、なぜVisual Studio Updateの後で機能しなくなったのかです。予告なく設定が変更されたと思います。
Sebastian Inones

素晴らしい発見!ありがとうございました!
Fred

1
私はこれにひどく燃え続けて、結局ここに戻るまで、検索結果を調べているワウを見つけ、私が以前ここにいたことを悟ります。これはバグのようです。
Jahmic

10

このリンクをご紹介します。

根本的な原因は、次のディレクトリにx86 .NET Core 2.2 SDKインスタンスが不足していること"C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App"です。

私は3.1バージョンしか存在しなかったので、特に2.2 SDKのx86バージョンをダウンロードしてインストールしました。これを実行すると、testhostはVisual Studio(VS)からユニットテストを実行しました。SDKの古いバージョンをアンインストールしたことはないので、これはフレームワーク/ VSの更新プロセスに問題があるはずです。


あなたが言ったように、私の場合、私はSDKをアンインストールしたことがなく、アップデートのみを行いました。あなたが言及したリンクが述べたように:「Visual Studio テストランナーは.NETコアSDKのx86バージョンを使用しているようです。そのため、それをアンインストールすると(x64バージョンのみを残して)、その.NETコアバージョンに基づくテストを実行できなくなります。テストエクスプローラー。」
Sebastian Inones
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.