测试资源管理器 (VS) 显示“<未知项目>”
Posted
技术标签:
【中文标题】测试资源管理器 (VS) 显示“<未知项目>”【英文标题】:Test Explorer (VS) shows '<Unknown project>' 【发布时间】:2020-04-11 00:05:26 【问题描述】:以下所有内容均在 VS2019 中制作,使用 .NET Framework 4.7 和 NUnit + NUnit3TestAdapter
我创建了一个名为 Exitus.Tests 的程序集,并添加了一些单元测试。但是,对于 Nuget 的一些我无法解决的问题,我创建了另一个名为 Exitus.UnitTests 的项目,并删除了我在旧项目中拥有的曾经的文件(包括更改命名空间)。
现在新的测试项目在资源管理器中正确显示了 op,但旧项目的“幽灵”仍然存在:
如果我尝试运行测试,输出窗口会显示以下错误:
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
一词,但没有返回任何结果。
有没有办法强行删除这个“幽灵”项目?
【问题讨论】:
***.com/questions/59545634/… 【参考方案1】:步骤如下
关闭 Visual Studio
进入项目文件夹
找到“.vs”文件夹。 (确保您还检查了隐藏的项目)
删除“.vs”文件夹。
一切顺利,打开 Visual Studio,构建并运行项目。
【讨论】:
【参考方案2】:根据 Visual Studio 开发人员社区(通过转到“帮助”菜单并选择“反馈”找到),将 Visual Studio 更新到 16.5.5 版将解决该问题。仅供参考:他们在 2020 年 2 月发布了这个
我可以确认它有效(我使用的是 VS 16.4.6)
【讨论】:
【参考方案3】:这些解决方案都不适合我。通过关闭visual studio和删除“.vs”文件夹,我能够让测试资源管理器正常工作。然后重新打开解决方案并让它重建它。
【讨论】:
【参考方案4】:-
关闭 Visual Studio。
删除
*.testlog
文件:
解决方案文件夹\.vs\解决方案名称\v16\TestStore\编号。
【讨论】:
经过大量反馈,我决定将其更改为接受答案。我仍然使用 Alex B. 的答案,只要您的 git 存储库中没有可能无法跟踪的关键文件,它就可以正常工作。.vs
是一个隐藏目录。确保将文件资源管理器设置为查看隐藏目录
99% 的 Visual Studio 错误都可以通过删除 .vs 文件夹或 windows temp / roaming / local 文件夹中的魔法隐藏文件来解决。 :C
我在内部询问过这个问题。显然问题已在 16.5 中修复。
我没有让它与这个答案一起工作。我不得不使用 Alex B 的答案。【参考方案5】:
我现在面临同样的问题。清理工作有所帮助。由于我上次在 VS 中遇到了清理问题(一些 DB 锁阻止了真正的清理),所以我的工作清理是这样的:
-
关闭 VS。
解决方案文件夹中的 Git Bash:
git clean -xfd
可能会有帮助。
【讨论】:
成功了,非常感谢。看起来像你的第一篇文章,如果是这样的话,我必须说它曾经是一个入口:-) 当我使用 XUnit 测试运行程序在测试 DLL 之间移动测试时,我在测试资源管理器结果中看到了几次“未知项目”。我发现删除与我的解决方案文件位于同一文件夹中的 .vs 文件夹就足够了。 此答案将删除任何不在源代码管理中的内容,因此如果您不签入诸如 launchSettings.json 之类的内容,您可能需要改用 pwretmo 的答案。 @pwretmo answer 是针对具体问题的更安全、更直接的答案。 社区已经发声了。我已经改变了接受的答案,以最好的方式帮助他人。这个答案对我来说仍然很好,但我明白它可能会带来某些风险。不过,我仍然非常感谢您的帮助:-)。以上是关于测试资源管理器 (VS) 显示“<未知项目>”的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Android Nunit测试在测试资源管理器中可被发现,但在运行测试时未被发现。 (VS2017)
切换到 Windows SDK 资源编译器后,VS_VERSION_INFO 未显示在 Windows 资源管理器中