Visual Studio 2017下NUnit3测试项目Resharper显示测试无结论且报testadapter.dll不存在
解决VS2017中NUnit 3 .NET Core测试显示"Inconclusive"及Resharper适配器错误的方案
我之前在VS2017里搭建NUnit3的.NET Core单元测试项目时,碰到过和你完全一样的问题:所有测试都显示Inconclusive: Test not run,Resharper还弹出testadapter.dll does not exist on disk的错误提示。折腾了好一阵才搞定,给你整理几个最有效的解决步骤:
1. 务必检查NuGet包的完整依赖
这是最容易踩坑的点,很多人会漏掉关键的测试SDK包:
- 你的测试项目必须同时安装以下三个NuGet包:
NUnit:NUnit核心测试框架NUnit3TestAdapter:适配Visual Studio测试运行器的组件,Resharper也依赖它Microsoft.NET.Test.Sdk:.NET Core测试项目的核心SDK,这个包很容易被忽略,但没有它测试根本跑不起来
- 操作方法:
- 右键测试项目 → 「管理NuGet程序包」
- 切换到「已安装」标签,确认三个包都存在且版本兼容(建议选最新稳定版,NUnit3TestAdapter版本尽量和NUnit主版本匹配)
- 缺少的话直接搜索安装,版本不兼容的话先卸载再重新安装对应版本
2. 修复Resharper的缓存和适配器配置
Resharper的报错大概率是缓存混乱或者没正确识别适配器路径:
- 清理Resharper缓存:
- 点击顶部菜单栏的「Resharper」→ 「选项」→ 「环境」→ 「常规」→ 「清除缓存」
- 重启Visual Studio后再尝试运行测试
- 手动指定适配器路径(如果清理缓存没用的话):
- 打开Resharper → 「选项」→ 「工具」→ 「单元测试」→ 「测试运行程序」
- 找到NUnit的设置项,确保「启用NUnit支持」已勾选,然后点击「浏览」手动指向你项目的
packages目录下,NUnit3TestAdapter文件夹里的testadapter.dll文件
3. 确认VS2017的测试组件已安装
有时候VS默认安装没包含.NET Core测试相关的组件:
- 打开Visual Studio安装程序 → 点击「修改」
- 在「工作负载」里勾选「.NET Core跨平台开发」,在「单个组件」里勾选「测试工具核心功能」
- 点击「修改」完成安装后重启VS
4. 清理重建项目,清除冗余缓存
项目的bin/obj文件夹或者生成缓存也可能导致问题:
- 右键解决方案 → 「清理解决方案」
- 右键解决方案 → 「生成解决方案」
- 手动删除测试项目下的
bin和obj文件夹,然后重新生成整个解决方案
5. 检查测试项目的目标框架
确保测试项目的目标.NET Core版本和你的主项目兼容:
- 右键测试项目 → 「属性」
- 切换到「应用程序」标签,确认「目标框架」和主项目的版本一致(比如主项目是.NET Core 2.2,测试项目也选2.2,高版本兼容低版本,但尽量统一避免兼容性问题)
内容的提问来源于stack exchange,提问作者Andrew Radford
相关产品推荐
相关产品推荐

