Обозреватель тестов (VS) показывает «‹ Неизвестный проект ›»

Все, что ниже, сделано в VS2019 с использованием .NET Framework 4.7 и NUnit + NUnit3TestAdapter.

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

Теперь новый тестовый проект корректно показал op в проводнике, но остался «призрак» старого проекта:

Visual Studio Test Explorer

Если я попытаюсь запустить тест, в окне вывода появится следующая ошибка:

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 () --- Конец трассировки стека из предыдущего места, где было сгенерировано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (task ) в Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext () (...)

Трассировка стека намного длиннее, но любопытно то, что во второй строке говорится, что не удалось найти тестовый контейнер в \Exitus.Tests\bin\Debug\Exitus.Tests.dll. Это название старого тестового проекта, который я удалил и удалил. Я просмотрел весь свой проект по запросу Exitus.Tests, и он не дал результатов.

Есть ли способ принудительно удалить этот «призрачный» проект?


person Jakob Busk Sørensen    schedule 18.12.2019    source источник
comment
stackoverflow.com/questions/59545634/   -  person Hans Passant    schedule 02.01.2020


Ответы (5)


  1. Закройте Visual Studio.
  2. Удалите файлы *.testlog в: папке решения \ .vs \ имя решения \ v16 \ TestStore \ number.
person Peter Wretmo    schedule 18.12.2019
comment
После большого количества отзывов я решил изменить это на приемлемый ответ. Я все еще использовал ответ Алекса Б., который отлично работает, если в вашем репозитории git нет важных файлов, которые могут не отслеживаться. - person Jakob Busk Sørensen; 02.01.2020
comment
.vs - это скрытый каталог. Обязательно настройте файловый проводник на отображение скрытых каталогов. - person citronas; 07.01.2020
comment
99% ошибок Visual Studio решаются путем удаления волшебных скрытых файлов в папке .vs или в папке windows temp / roaming / local. : C - person filescraps; 14.02.2020
comment
Я внутренне спросил об этом. Судя по всему, проблема исправлена ​​в версии 16.5. - person Drew Noakes; 19.02.2020
comment
Я не смог заставить его работать с этим ответом. Мне пришлось использовать ответ Алекса Б. - person Jamie R Rytlewski; 09.03.2020
comment
Кажется, что это работает после первого перезапуска, но проект / тесты снова появляются после повторного перезапуска. - person Riaan van Zyl; 12.03.2020
comment
это может быть немного драматичным. но спасибо тебе, Иисус! - person Dylan Hayes; 02.06.2020
comment
Интересно, как первооткрыватель впервые нашел такое решение! ???? - person Mahdi Tahsildari; 06.08.2020

Я столкнулся с той же проблемой прямо сейчас. Помогла уборка. Поскольку в последнее время у меня были проблемы с очисткой VS (некоторая блокировка DB предотвращает настоящую очистку), моя рабочая очистка была такой:

  1. Закройте VS.
  2. Git Bash в папке решения: git clean -xfd

Наверное, помогает.

person Alex B.    schedule 18.12.2019
comment
Это сработало, большое вам спасибо. Похоже, ваш первый пост, если это так, я должен сказать, что это когда-то чертовски важно сделать :-) - person Jakob Busk Sørensen; 18.12.2019
comment
Я видел результаты проекта Uknown в обозревателе тестов несколько раз, когда перемещал тесты между тестовыми библиотеками DLL с помощью средства запуска тестов XUnit. Я обнаружил, что достаточно удалить папку .vs, которая находилась в той же папке, что и мой файл решения. - person Frank Schwieterman; 18.12.2019
comment
У меня снова была та же проблема. Решение, предложенное @pwretmo, также сработало для меня и, конечно же, лучше, поскольку оно меньше влияет на решение. Принятый ответ следует изменить. - person Alex B.; 19.12.2019
comment
Этот ответ удалит все, что не находится в системе управления версиями, поэтому, если вы не проверяете такие вещи, как launchSettings.json, вы можете вместо этого использовать ответ pwretmo. - person Sean; 20.12.2019
comment
Ответ @pwretmo - более безопасный и прямой ответ на конкретную проблему. - person snowcode; 23.12.2019
comment
Сообщество высказалось. Я изменил принятый ответ, чтобы помочь другим как можно лучше. Этот ответ все еще меня устраивал, но я понимаю, что он может представлять определенные риски. Я все же очень благодарен за помощь :-). - person Jakob Busk Sørensen; 02.01.2020

Ни одно из этих решений не помогло мне. Мне удалось заставить тестовый проводник работать, закрыв Visual Studio и удалив папку «.vs». Затем снова откройте раствор и позвольте ему восстановить его.

person N-ate    schedule 15.04.2020

Согласно сообществу разработчиков Visual Studio (можно найти, перейдя в меню «Справка» и выбрав «Отзыв»), обновление Visual Studio до версии 16.5.5 решит проблему. К вашему сведению: они выпустили это в феврале 2020 года.

Я могу подтвердить, что это работает (я был на VS 16.4.6)

person Dan    schedule 19.05.2020

Шаги, как показано ниже

  1. Закройте Visual Studio

  2. Перейти в папку проекта

  3. Найдите папку ".vs". (Убедитесь, что вы также проверяете скрытый элемент)

  4. Удалите папку ".vs".

  5. Хорошо, откройте визуальную студию, создайте и запустите проект.

person Harshal    schedule 02.06.2020