测试资源管理器(VS)显示“ <未知项目>”

时间:2019-12-18 12:24:14

标签: c# visual-studio nunit

下面的所有内容都是使用.NET Framework 4.7和NUnit + NUnit3TestAdapter在VS2019中制作的

我创建了一个名为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(任务任务)      在Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext()      (...)

堆栈跟踪的时间更长了,但是奇怪的是第二行,指出它无法在\Exitus.Tests\bin\Debug\Exitus.Tests.dll处找到测试容器。这是旧测试项目的名称,我已删除并删除了该项目。我已经在整个项目中搜索了术语Exitus.Tests,但未返回任何结果。

总有办法强制删除此“鬼”项目吗?

5 个答案:

答案 0 :(得分:17)

  1. 关闭Visual Studio
  2. 删除 solutionfolder \。vs \ 解决方案名称 \ v16 \ TestStore \ 0中的* .testlog文件。

答案 1 :(得分:6)

我现在面临着同样的问题。清理帮助。由于我上次遇到VS的清理问题(某些DB锁阻止了真正的清理工作),所以我的工作清理是这样的:

  1. 关闭VS。
  2. 解决方案文件夹中的Git Bash:git clean -xfd

可能有帮助。

答案 2 :(得分:1)

这些解决方案都不适合我。通过关闭Visual Studio 删除 .vs ”文件夹,我可以使测试资源管理器正常工作。然后重新打开解决方案,并对其进行重建。

答案 3 :(得分:1)

根据Visual Studio开发人员社区(可通过进入“帮助”菜单并选择“反馈”来找到),将Visual Studio更新到版本16.5.5将解决此问题。仅供参考:他们于2020年2月发布了此内容

我可以确认它是否有效(我在VS 16.4.6上)

答案 4 :(得分:0)

步骤如下

  1. 关闭Visual Studio

  2. 转到项目文件夹

  3. 找到“ .vs”文件夹。 (确保您也在检查隐藏的项目)

  4. 删除“ .vs”文件夹。

  5. 一切顺利,打开Visual Studio,构建并运行项目。