问题
Everthing below is made in VS2019, using .NET Framework 4.7 and NUnit + NUnit3TestAdapter
I created an assembly called Exitus.Tests, and added a few unit tests. However, do to some issues with Nuget, that I could not solve, I made another project called Exitus.UnitTests and removed the once file I had in the old project (including changing the namespace).
Now the new test project showed op correctly in the explorer, but a "ghost" of the old project remained:
If I try to run the test, the output window shows the following error:
System.InvalidOperationException: The following TestContainer was not found 'C:\Users\xxx\Source\Repositories\Expire\Exitus.Tests\bin\Debug\Exitus.Tests.dll' at Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider.d__46.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext() (...)
The stack trace is a lot longer, but the curious thing is the second line, stating that it could not find the test container at \Exitus.Tests\bin\Debug\Exitus.Tests.dll
. This is the name of the old test project, which I removed and deleted. I have searched my entire project for the term Exitus.Tests
and it returns no results.
Is there anyway to forcefully remove this 'ghost' project?
回答1:
- Close Visual Studio
- Delete the *.testlog files in solutionfolder\.vs\solution name\v16\TestStore\0.
回答2:
I faced the same issue right now. A cleanup helped. As I had cleanup issues with VS in the last time (some DB-lock prevents a real cleanup to happen), my working cleanup was this way:
- Close VS.
- Git Bash in solution folder:
git clean -xfd
Probably it helps.
来源:https://stackoverflow.com/questions/59391984/test-explorer-vs-shows-unknown-project