You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查找引发异常的NuGet包?.NET5单元测试MissingMethodException排查

冲突包定位步骤

  • 执行CLI命令dotnet list package --include-transitive导出所有项目的全量依赖清单,筛选名称包含Microsoft.EntityFrameworkCore的包,核对Web主项目、单元测试项目、存放DbContext的类库项目(如有)的版本是否完全一致,重点关注Microsoft.EntityFrameworkCore.InMemory、Microsoft.EntityFrameworkCore.Relational这类容易被忽略的中转依赖版本。也可以在Visual Studio的解决方案NuGet包管理器中切换到「合并」标签,直接查看所有存在版本差异的依赖包,快速定位冲突项。
  • 确认EF Core大版本和.NET版本匹配:.NET 5仅支持EF Core 5.x版本,若安装了EF Core 6.x及更高版本,会直接出现API不兼容问题。
  • 核对Microsoft.AspNetCore.Mvc.Testing包版本,该包提供WebApplicationFactory实现,版本必须和项目的.NET SDK版本保持一致,.NET 5对应包版本为5.x。
  • 查看异常完整调用栈,定位调用Rewrite方法的上游组件,确认该组件依赖的EF Core版本是否和项目中安装的版本匹配,常见冲突源为第三方EF Core扩展、仓储类封装库。

修复方案

  • 所有项目统一显式安装同版本的EF Core相关包,.NET 5场景下推荐使用5.0.17(官方最后一个适配.NET 5的EF Core稳定版),显式安装指定版本的包可以覆盖掉不一致的中转依赖。
  • 清理项目缓存:删除所有项目的bin、obj文件夹,执行dotnet clean && dotnet restore命令重新还原依赖,避免本地缓存的旧版本包干扰。

内容的提问来源于stack exchange,提问作者Rexiu Rexiowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:57:03