テストエクスプローラー(VS)に「<不明なプロジェクト>」と表示される


157

以下のすべては、.NET Framework 4.7とNUnit + NUnit3TestAdapterを使用してVS2019で作成されています

Exitus.Testsというアセンブリを作成し、いくつかの単体テストを追加しました。しかし、解決できなかったNugetのいくつかの問題を解決するには、Exitus.UnitTestsと呼ばれる別のプロジェクトを作成し、古いプロジェクトにあった以前のファイル(名前空間の変更を含む)を削除しました。

これで、新しいテストプロジェクトはエクスプローラーで正しくopを示しましたが、古いプロジェクトの「ゴースト」が残りました。

Visual Studioテストエクスプローラー

テストを実行しようとすると、出力ウィンドウに次のエラーが表示されます。

System.InvalidOperationException:次のTestContainerが見つかりませんでした 'C:\ Users \ xxx \ Source \ Repositories \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProviderで.d__46.MoveNext()---例外がスローされた前の場所からのスタックトレースの終わり--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task )Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext()(...)で

スタックトレースははるかに長くなりますが、興味深いのは2行目にあり、でテストコンテナが見つからなかったことを示しています\Exitus.Tests\bin\Debug\Exitus.Tests.dll。これは、私が削除して削除した古いテストプロジェクトの名前です。プロジェクト全体で用語Exitus.Testsを検索しましたが、結果が返されません。

とにかくこの「ゴースト」プロジェクトを強制的に削除する方法はありますか?


回答:


323
  1. 閉じるVisual Studio
  2. solutionfolder \ .vs \ solution name \ v16 \ TestStore \ number*.testlogファイルを削除します 。

3
多くのフィードバックの後、私はこれを受諾者の回答に変更することにしました。私はまだAlex B.の回答を使用しましたが、追跡されない可能性のある重要なファイルがgitリポジトリにない限り、正常に機能します。
Noceo

13
.vs 隠しディレクトリです。隠しディレクトリが表示されるようにファイルエクスプローラーを設定してください
シトロナス

1
解決できません、「git clean -xfd」で解決しました
Zax

3
Visual Studioのエラーの99%は、.vsフォルダー内の魔法の隠しファイル、またはWindowsのtemp / roaming / localフォルダーを削除することで解決されます。:C
filescraps

5
これについて社内で質問しました。どうやらこの問題は16.5で修正されました。
Drew Noakes

21

私は今、同じ問題に直面しました。クリーンアップが役立ちました。前回VSでクリーンアップの問題があったため(一部のDBロックにより、実際のクリーンアップが実行されない)、私の作業クリーンアップは次のようになりました:

  1. VSを閉じます。
  2. ソリューションフォルダーのGit Bash: git clean -xfd

おそらくそれは役に立ちます。


2
うまくいきました。ありがとうございました。それはあなたの最初の投稿のようです、もしそうなら、私はそれが作るための入り口の一度であると言う必要があります:-)
Noceo

XUnitテストランナーを使用してテストDLL間でテストを移動すると、テストエクスプローラーの結果に「Uknown Project」が数回表示されました。ソリューションファイルと同じフォルダーにある.vsフォルダーを削除すれば十分であることがわかりました。
フランクSchwieterman

8
この回答はソース管理にないものをすべて削除するため、launchSettings.jsonなどをチェックインしない場合は、代わりにpwretmoの回答を使用できます。
Sean

4
@pwretmo回答は、特定の問題に対するより安全で直接的な回答です。
スノーコード

2
コミュニティが話しました。他の人を可能な限り最善の方法で支援するために、受け入れられた回答を変更しました。この答えは私にとってはまだ問題ありませんでしたが、特定のリスクをもたらす可能性があるという点を理解しました。私はまだ助けにとても感謝しています:-)。
Noceo

1

これらの解決策はどちらもうまくいきませんでした。Visual Studio閉じて「.vs」フォルダーを削除することで、テストエクスプローラーを機能させることができました。次に、ソリューション再度開き、再構築します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.