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

Noc*_*ceo 181 c# nunit visual-studio

下面的一切都是在 VS2019 中制作的,使用 .NET Framework 4.7 和 NUnit + NUnit3TestAdapter

我创建了一个名为 Exitus.Tests 的程序集,并添加了一些单元测试。但是,为了解决一些我无法解决的 Nuget 问题,我创建了另一个名为 Exitus.UnitTests 的项目,并删除了旧项目中的 once 文件(包括更改命名空间)。

现在新的测试项目在资源管理器中正确显示了 op,但旧项目的“幽灵”仍然存在:

Visual Studio 测试资源管理器

如果我尝试运行测试,输出窗口会显示以下错误:

System.InvalidOperationException:在 Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider 中未找到以下 TestContainer 'C:\Users\xxx\Source\Repositories\Expire\Exitus.Tests\bin\Debug\Exitus.Tests.dll' .d__46.MoveNext() --- 从上一个抛出异常的位置开始的堆栈跟踪结束 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) ) 在 Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext() (...)

堆栈跟踪要长很多,但奇怪的是第二行,指出它在\Exitus.Tests\bin\Debug\Exitus.Tests.dll. 这是我删除并删除的旧测试项目的名称。我已经在整个项目中搜索了该术语Exitus.Tests,但没有返回任何结果。

有没有办法强行删除这个“幽灵”项目?

Pet*_*tmo 382

  1. 关闭Visual Studio
  2. 删除以下*.testlog文件: solutionfolder \.vs\ solution name \v16\TestStore\ number

  • `.vs` 是一个隐藏目录。确保将文件资源管理器设置为查看隐藏目录 (15认同)
  • 我内部问过这个问题。显然该问题已在 16.5 中得到解决。 (5认同)
  • 99% 的 Visual Studio 错误可以通过删除 .vs 文件夹或 Windows temp/roaming/local 文件夹中的神奇隐藏文件来解决。:C (4认同)
  • 经过大量反馈后,我决定将其更改为可接受的答案。我仍然使用 Alex B. 的答案,只要你的 git 存储库中没有关键文件(可能不会被跟踪),它就可以正常工作。 (3认同)

小智 22

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

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

可能它有帮助。

  • 此答案将删除源代码管理中未包含的所有内容,因此,如果您不检查 launchSettings.json 等内容,则可能需要使用 pwretmo 的答案。 (9认同)
  • @pwretmo 的答案是对具体问题的更安全、更直接的答案。 (4认同)
  • 那行得通,非常感谢。它看起来像你的第一篇文章,如果是这样的话,我必须说这是一个非常好的入口:-) (3认同)
  • 社区已经发话了。我改变了接受的答案,以尽可能最好的方式帮助别人。这个答案对我来说仍然很好,但我明白它可能会带来某些风险。不过,我仍然非常感谢您的帮助:-)。 (3认同)