Test Explorer (VS) menunjukkan '<Proyek tidak dikenal>'

157

Semua hal di bawah ini dibuat dalam VS2019, menggunakan .NET Framework 4.7 dan NUnit + NUnit3TestAdapter

Saya membuat sebuah majelis yang disebut Exitus. Tes, dan menambahkan beberapa unit tes. Namun, lakukan untuk beberapa masalah dengan Nuget, yang tidak bisa saya selesaikan, saya membuat proyek lain bernama Exitus.UnitTests dan menghapus file yang pernah saya miliki di proyek lama (termasuk mengubah namespace).

Sekarang proyek uji baru menunjukkan op dengan benar di penjelajah, tetapi "hantu" dari proyek lama tetap:

Visual Studio test explorer

Jika saya mencoba menjalankan tes, jendela output menunjukkan kesalahan berikut:

System.InvalidOperationException: TestContainer berikut ini tidak ditemukan 'C: \ Users \ xxx \ Sumber \ Repositori \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' di Microsoft.VisualStudio.TestWindow.Client.TestContainerProvider .d__46.MoveNext () --- Akhir jejak tumpukan dari lokasi sebelumnya di mana pengecualian dilempar --- di System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Tugas tugas) di System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessTugas pengerjaan tugas ) di Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext () (...)

Jejak tumpukan jauh lebih lama, tetapi yang aneh adalah baris kedua, yang menyatakan bahwa tidak dapat menemukan wadah uji di \Exitus.Tests\bin\Debug\Exitus.Tests.dll. Ini adalah nama proyek uji lama, yang saya hapus dan hapus. Saya telah mencari seluruh proyek saya untuk istilah iniExitus.Tests itu dan tidak mengembalikan hasil.

Apakah ada cara untuk secara paksa menghapus proyek 'hantu' ini?

Noceo
sumber

Jawaban:

323
  1. Tutup Visual Studio.
  2. Hapus *.testlogfile dalam: solutionfolder \ .vs \ solution name \ v16 \ TestStore \ number .
Peter Wretmo
sumber
3
Setelah banyak umpan balik, saya memutuskan untuk mengubahnya ke jawaban penerima. Saya masih menggunakan jawaban Alex B., yang berfungsi dengan baik selama Anda tidak memiliki file penting dalam repositori git Anda, yang mungkin tidak dilacak.
Noceo
13
.vs adalah direktori tersembunyi. Pastikan untuk mengatur penjelajah file Anda untuk melihat direktori tersembunyi
citronas
1
Tidak tegas, saya diselesaikan dengan "git clean -xfd"
Zax
3
99% kesalahan studio visual diselesaikan dengan menghapus file ajaib yang tersembunyi di folder .vs, atau folder temp / roaming / folder lokal. : C
filescraps
5
Saya bertanya secara internal tentang ini. Rupanya masalah sudah diperbaiki di 16.5.
Drew Noakes
21

Saya menghadapi masalah yang sama sekarang. Pembersihan membantu. Karena saya memiliki masalah pembersihan dengan VS di terakhir kali (beberapa DB-lock mencegah pembersihan nyata terjadi), pembersihan kerja saya adalah seperti ini:

  1. Tutup VS.
  2. Git Bash di folder solusi: git clean -xfd

Mungkin ini membantu.

Alex B.
sumber
2
Itu berhasil, terima kasih banyak. Sepertinya posting pertama Anda, jika itu yang terjadi, saya harus mengatakan bahwa itu adalah sebuah pintu masuk :-)
Noceo
Saya melihat "Proyek Uknown" dalam hasil explorer uji beberapa kali ketika saya memindahkan tes antara DLL uji dengan pelari uji XUnit. Saya merasa cukup untuk menghapus folder .vs yang berada di folder yang sama dengan file solusi saya.
Frank Schwieterman
8
Jawaban ini akan menghapus apa pun yang tidak ada dalam kontrol sumber, jadi jika Anda tidak memeriksa hal-hal seperti launchSettings.json, Anda mungkin ingin menggunakan jawaban pwretmo sebagai gantinya.
Sean
4
@ pwretmo answer adalah jawaban yang lebih aman dan lebih langsung untuk masalah tertentu.
snowcode
2
Komunitas telah berbicara. Saya telah mengubah jawaban yang diterima, untuk membantu orang lain dengan cara sebaik mungkin. Jawaban ini masih baik untuk saya, tetapi saya mendapatkan poin yang dapat menimbulkan risiko tertentu. Saya masih sangat berterima kasih atas bantuannya :-).
Noceo
1

Tak satu pun dari solusi ini bekerja untuk saya. Saya bisa mendapatkan tes explorer kerja oleh menutup visual studio dan menghapus yang " .vs " folder. Kemudian buka kembali solusinya dan biarkan ia membangunnya kembali.

Tidak makan
sumber