执行dotnet test时,被引用的Framework4.7.2项目丢失NuGet引用问题
.NET6单元测试引用Framework4.7.2项目的NuGet依赖问题
我们正在将部分单元测试项目从.NET Framework 4.7.2升级至.NET 6,但遇到了以下问题:当在引用了带有NuGet包的Framework4.7.2项目的.NET6项目中执行dotnet test命令时,被引用的Framework4.7.2项目会出现缺少NuGet程序集或using指令的错误。
项目引用测试结果(A为NUnit单元测试项目,箭头表示引用关系)
- A(net6.0)→ B(Framework4.7.2)→ C(安装NuGet包的Framework4.7.2):报错
- A(net6.0)→ C(安装NuGet包的Framework4.7.2):报错
- A(Framework4.7.2)→ B(Framework4.7.2)→ C(安装NuGet包的Framework4.7.2):测试通过
- A(net6.0)自身安装对应NuGet包:测试通过
- A(net6.0)→无NuGet包的B(Framework4.7.2):测试通过
补充现象
- 在Framework4.7.2项目中执行
dotnet test可正常运行,但在.NET6项目中执行时会触发上述错误(例如在A项目执行命令时,C项目抛出错误) - 所有代码均可正常编译、构建、还原NuGet包,且在VS测试资源管理器中能找到并成功运行所有测试
疑问
该问题的原因是什么?是.NET版本兼容性问题、测试运行器问题还是NUnit的问题?
内容的提问来源于stack exchange,提问作者Tempuslight
相关产品推荐
相关产品推荐

