测试资源管理器 (VS) 显示“<Unknown project>”
Test Explorer (VS) shows '<Unknown project>'
以下所有内容均使用 .NET Framework 4.7 和 NUnit + NUnit3TestAdapter 在 VS2019 中制作
我创建了一个名为 Exitus.Tests 的程序集,并添加了一些单元测试。但是,对于 Nuget 的一些我无法解决的问题,我创建了另一个名为 Exitus.UnitTests 的项目并删除了我在旧项目中的曾经的文件(包括更改命名空间)。
现在新的测试项目在资源管理器中正确显示了 op,但是旧项目的 "ghost" 仍然存在:
如果我尝试 运行 测试,输出 window 显示以下错误:
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()
(...)
堆栈跟踪要长很多,但奇怪的是第二行,说明在 \Exitus.Tests\bin\Debug\Exitus.Tests.dll
找不到测试容器。这是旧的测试项目的名称,我删除并删除了。我在我的整个项目中搜索了术语 Exitus.Tests
,但 returns 没有结果。
有没有办法强行移除这个'ghost'项目?
我现在遇到了同样的问题。清理有帮助。由于上次我遇到了 VS 的清理问题(一些数据库锁阻止了真正的清理发生),我的工作清理是这样的:
- 关闭VS。
- Git Bash 在解决方案文件夹中:
git clean -xfd
可能会有帮助。
- 关闭Visual Studio.
- 删除
*.testlog
中的文件:
解决方案文件夹\.vs\解决方案名称\v16\TestStore\编号.
这些解决方案都不适合我。我能够通过 关闭 visual studio 和 删除 ".vs[=16 来让测试浏览器工作=]”文件夹。然后重新打开解决方案并让它重建它。
根据 Visual Studio 开发者社区(通过转到“帮助”菜单并选择“反馈”找到),将 Visual Studio 更新到版本 16.5.5 将解决该问题。仅供参考:他们于 2020 年 2 月发布了这个
我可以确认它有效(我使用的是 VS 16.4.6)
步骤如下
关闭Visual Studio
转到项目文件夹
找到“.vs”文件夹。 (确保你也检查隐藏的项目)
删除“.vs”文件夹。
一切顺利,打开 visual studio,构建并 运行 项目。
以下所有内容均使用 .NET Framework 4.7 和 NUnit + NUnit3TestAdapter 在 VS2019 中制作
我创建了一个名为 Exitus.Tests 的程序集,并添加了一些单元测试。但是,对于 Nuget 的一些我无法解决的问题,我创建了另一个名为 Exitus.UnitTests 的项目并删除了我在旧项目中的曾经的文件(包括更改命名空间)。
现在新的测试项目在资源管理器中正确显示了 op,但是旧项目的 "ghost" 仍然存在:
如果我尝试 运行 测试,输出 window 显示以下错误:
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() (...)
堆栈跟踪要长很多,但奇怪的是第二行,说明在 \Exitus.Tests\bin\Debug\Exitus.Tests.dll
找不到测试容器。这是旧的测试项目的名称,我删除并删除了。我在我的整个项目中搜索了术语 Exitus.Tests
,但 returns 没有结果。
有没有办法强行移除这个'ghost'项目?
我现在遇到了同样的问题。清理有帮助。由于上次我遇到了 VS 的清理问题(一些数据库锁阻止了真正的清理发生),我的工作清理是这样的:
- 关闭VS。
- Git Bash 在解决方案文件夹中:
git clean -xfd
可能会有帮助。
- 关闭Visual Studio.
- 删除
*.testlog
中的文件: 解决方案文件夹\.vs\解决方案名称\v16\TestStore\编号.
这些解决方案都不适合我。我能够通过 关闭 visual studio 和 删除 ".vs[=16 来让测试浏览器工作=]”文件夹。然后重新打开解决方案并让它重建它。
根据 Visual Studio 开发者社区(通过转到“帮助”菜单并选择“反馈”找到),将 Visual Studio 更新到版本 16.5.5 将解决该问题。仅供参考:他们于 2020 年 2 月发布了这个
我可以确认它有效(我使用的是 VS 16.4.6)
步骤如下
关闭Visual Studio
转到项目文件夹
找到“.vs”文件夹。 (确保你也检查隐藏的项目)
删除“.vs”文件夹。
一切顺利,打开 visual studio,构建并 运行 项目。