O Test Explorer (VS) mostra '<Projeto desconhecido>'


157

Tudo abaixo é feito no VS2019, usando o .NET Framework 4.7 e o NUnit + NUnit3TestAdapter

Criei um assembly chamado Exitus.Tests e adicionei alguns testes de unidade. No entanto, com alguns problemas com o Nuget, que não consegui resolver, criei outro projeto chamado Exitus.UnitTests e removi o arquivo que possuía no projeto antigo (incluindo a alteração do namespace).

Agora, o novo projeto de teste mostrou-se operacional corretamente no explorer, mas um "fantasma" do projeto antigo permaneceu:

Explorador de teste do Visual Studio

Se eu tentar executar o teste, a janela de saída mostrará o seguinte erro:

System.InvalidOperationException: O seguinte TestContainer não foi encontrado 'C: \ Users \ xxx \ Source \ Repositories \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' em Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider .d__46.MoveNext () --- Fim do rastreio de pilha do local anterior onde a exceção foi lançada --- em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (tarefa de tarefa) na System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Task ) em Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext () (...)

O rastreamento da pilha é muito mais longo, mas o curioso é a segunda linha, afirmando que não foi possível encontrar o contêiner de teste em \Exitus.Tests\bin\Debug\Exitus.Tests.dll. Este é o nome do projeto de teste antigo, que eu removi e excluí. Pesquisei todo o meu projeto pelo termo Exitus.Testse ele não retorna resultados.

Existe alguma maneira de remover com força esse projeto 'fantasma'?


Respostas:


323
  1. Fechar Visual Studio.
  2. Exclua os *.testlogarquivos em: solutionfolder \ .vs \ nome da solução \ v16 \ TestStore \ number .

3
Depois de muito feedback, decidi mudar isso para a resposta do Acceptet. Eu ainda usei a resposta de Alex B., que funciona bem desde que você não tenha arquivos críticos em seu repositório git, que podem não ser rastreados.
Noceo

13
.vs é um diretório oculto. Certifique-se de definir o seu explorador de arquivos para ver os diretórios ocultos
citronas

11
Não resolutivo, resolvi com "git clean -xfd"
Zax

3
99% dos erros do visual studio são solucionados com a remoção de arquivos ocultos mágicos na pasta .vs ou na pasta temp / roaming / local do Windows. : C
filescraps 14/02

5
Eu perguntei internamente sobre isso. Aparentemente, o problema foi corrigido em 16.5.
Drew Noakes

21

Eu enfrentei o mesmo problema agora. Uma limpeza ajudou. Como tive problemas de limpeza com o VS na última vez (alguns bloqueios de banco de dados impedem uma limpeza real), minha limpeza de trabalho foi assim:

  1. Feche o VS.
  2. Git Bash na pasta da solução: git clean -xfd

Provavelmente ajuda.


2
Isso funcionou, muito obrigado. Parece que o seu primeiro post, se for esse o caso, devo dizer que é uma vez pedaço de uma entrada para fazer :-)
Noceo

Vi o "Projeto Uknown" nos resultados do test explorer algumas vezes quando movi os testes entre as DLLs de teste com o executor de teste do XUnit. Eu achei que era suficiente excluir a pasta .vs que estava na mesma pasta que meu arquivo de solução.
Frank Schwieterman

8
Esta resposta removerá qualquer coisa que não esteja no controle de origem; portanto, se você não fizer check-in de coisas como launchSettings.json, poderá usar a resposta de pwretmo.
21419 Sean

4
A resposta @pwretmo é uma resposta mais segura e direta ao problema específico.
snowcode 23/12/19

2
A comunidade falou. Alterei a resposta aceita, para ajudar os outros da melhor maneira possível. Essa resposta ainda foi boa para mim, mas entendo que ela pode apresentar certos riscos. Ainda estou muito grato pela ajuda :-).
Noceo

1

Nenhuma dessas soluções funcionou para mim. Consegui fazer o test explorer fechar o visual studio e excluir a pasta " .vs ". Em seguida, reabra a solução e deixe-a reconstruí-la.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.