下面的所有内容都是使用.NET Framework 4.7和NUnit + NUnit3TestAdapter在VS2019中制作的
我创建了一个名为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
,但未返回任何结果。
总有办法强制删除此“鬼”项目吗?
答案 0 :(得分:17)
答案 1 :(得分:6)
我现在面临着同样的问题。清理帮助。由于我上次遇到VS的清理问题(某些DB锁阻止了真正的清理工作),所以我的工作清理是这样的:
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)
步骤如下
关闭Visual Studio
转到项目文件夹
找到“ .vs”文件夹。 (确保您也在检查隐藏的项目)
删除“ .vs”文件夹。
一切顺利,打开Visual Studio,构建并运行项目。