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

添加MediatR服务时遇CS1503错误:Assembly参数无法转换

MediatR组件添加时CS1503错误解决方法

错误信息

Error CS1503 参数2: 无法从'System.Reflection.Assembly'转换为'System.Action<Microsoft.Extensions.DependencyInjection.MediatRServiceConfiguration>'

问题原因

MediatR v12及以上版本更新了依赖注入扩展方法AddMediatR的签名,不再支持直接传入Assembly对象作为参数,必须通过配置委托来指定要扫描的程序集。

解决方案

方案1:使用新版本正确写法(推荐)

修改代码,通过配置委托指定扫描当前程序集:

public class Program
{
   public static async Task Main(string[] args)
   {
      var builder = WebApplication.CreateBuilder(args);
      // 配置MediatR扫描当前程序集
      builder.Services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly()));
   }
   // 其余代码...
}

方案2:降级到旧版本(不推荐)

如果非要保留原写法,可以将MediatR NuGet包降级到v11或更低版本,此时直接传入Assembly的写法仍能正常运行,但旧版本后续可能不再获得维护更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 01:05:02