Test Explorer (VS) показує "<Невідомий проект>"


157

Все, що нижче, зроблено у VS2019, використовуючи .NET Framework 4.7 та NUnit + NUnit3TestAdapter

Я створив збірку під назвою Exitus.Tests і додав кілька тестових одиниць. Однак, зробивши деякі проблеми з Nuget, які я не міг вирішити, я створив ще один проект під назвою Exitus.UnitTests і видалив колись файл, який я мав у старому проекті (включаючи зміну простору імен).

Тепер новий тестовий проект правильно показав у досліднику, але "привид" старого проекту залишився:

Тест-дослідник Visual Studio

Якщо я спробую запустити тест, у вікні виводу відображається така помилка:

System.InvalidOperationException: Не знайдено наступного TestContainer 'C: \ Users \ xxx \ Source \ Repositories \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' у Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProver .d__46.MoveNext () --- Кінець трасування стека з попереднього місця, куди було викинуто виняток --- у System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Завдання завдання) на System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAequest (Завдання) ) у Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext () (...)

Слід стека набагато довший, але цікавим є другий рядок, який стверджує, що він не зміг знайти тестовий контейнер у \Exitus.Tests\bin\Debug\Exitus.Tests.dll. Це назва старого тестового проекту, який я видалив і видалив. Я шукав весь проект за терміном, Exitus.Testsі він не дає результатів.

Чи варто все-таки примусово зняти цей проект-привид?


Відповіді:


323
  1. Закрити Visual Studio.
  2. Видаліть *.testlogфайли в: папку рішення \ .vs \ ім'я рішення \ v16 \ TestStore \ номер .

3
Після багато відгуків я вирішив змінити це на прийняту відповідь. Я все ще використовував відповідь Алекса Б., яка працює добре, якщо у вашому сховищі git немає критичних файлів, які можуть не відслідковуватися.
Noceo

13
.vs це прихований каталог. Не забудьте встановити провідник файлів, щоб побачити приховані каталоги
citronas

1
Не рішучий, я вирішив "git clean -xfd"
Zax

3
99% помилок візуальної студії вирішуються шляхом видалення магічних прихованих файлів у папці .vs або папки Windows temp / roaming / local. : C
filecraps

5
Я запитав про це внутрішньо. Мабуть, проблема виправлена ​​в 16.5.
Дрю Ноакс

21

Я зіткнувся з тим же питанням і зараз. Чистка допомогла. Оскільки в останній раз у мене були проблеми з очищенням з VS (деякий БД-блокування запобігає реальній очищенню), моя робоча очистка була такою:

  1. Закрити VS.
  2. Git Bash у папці з рішеннями: git clean -xfd

Напевно, це допомагає.


2
Це спрацювало, дуже дякую. Це схоже на ваше перше повідомлення, якщо це так, я мушу сказати, що це колись чорт входу, щоб зробити :-)
Noceo

Я не раз бачив "Невідомий проект" у результатах тестового дослідника, коли я переміщав тести між тестовими DLL-програмами з тестовим бігуном XUnit. Мені здалося, що достатньо видалити папку .vs, яка знаходилась у тій самій папці, що і мій файл рішення.
Френк Швітерман

8
Ця відповідь видалить все, що не знаходиться у контролі джерела, тому, якщо ви не перевірите такі речі, як startSettings.json, ви можете замість цього використати відповідь pwretmo.
Шон

4
@pwretmo відповідь - це більш безпечна і пряма відповідь на конкретну проблему.
снігопад

2
Громада виступила. Я змінив прийняту відповідь, щоб найкращим чином допомогти іншим. Ця відповідь для мене все ще була чудовою, але я розумію, що вона може спричинити певні ризики. Я все ще дуже вдячний за допомогу, хоча :-).
Noceo

0

Жодне з цих рішень не працювало для мене. Мені вдалося змусити тестування працювати, закривши візуальну студію та видаливши папку " .vs ". Потім знову відкрийте розчин і дайте йому відновити його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.