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

.NET6 x86控制台程序报BuildServiceProvider方法找不到异常咨询

缺失方法报错触发原因

这个报错和你有没有手动编写依赖注入代码无关,本质是NuGet包版本冲突导致的程序集加载不匹配:

  1. 你项目中错误引用了不属于.NET 6生态的旧版本包Microsoft.AspNetCore.SignalR.Core (1.1.0),这个包是.NET Core 2.x/3.x时代的版本,它依赖2.x版本线的Microsoft.Extensions.DependencyInjection相关程序集。
  2. 你的项目目标框架是.NET 6,同时引用的Microsoft.AspNetCore.SignalR.Client (6.0.5)、Microsoft.AspNetCore.SignalR.Common (6.0.5)都依赖6.0版本线的Microsoft.Extensions.DependencyInjection,两个版本线的同名程序集里ServiceCollectionContainerBuilderExtensions.BuildServiceProvider方法签名存在差异。
  3. 运行时程序集加载逻辑命中了低版本的依赖注入程序集时,就找不到.NET 6配套的对应方法签名,抛出你看到的西班牙文报错,直译就是找不到方法: 'Microsoft.Extensions.DependencyInjection.ServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)'。

额外说明:在.NET 6项目里使用SignalR客户端,不需要单独手动引用Microsoft.AspNetCore.SignalR.Core包,Microsoft.AspNetCore.SignalR.Client 6.0.5已经内置了适配.NET 6版本的SignalR核心依赖,你手动引入的1.1.0版本包是完全多余的冲突源。

修复步骤

  • 移除项目中对Microsoft.AspNetCore.SignalR.Core (1.1.0)的NuGet包引用
  • 清理项目根目录下的bin、obj文件夹
  • 重新生成项目即可解决问题

内容的提问来源于stack exchange,提问作者Jesus Hedo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:18:23