尝试激活“ MediatR.ServiceFactory”时无法解析类型为“ System.Object”的服务

时间:2019-12-07 17:42:58

标签: asp.net-core startup asp.net-core-3.0 mediatr

我有一个Asp.net Core 2.2应用程序,我正在尝试升级到3.0。我正在使用Mediatr,现在升级到3.0后出现此错误

  

验证服务描述符'ServiceType:System.ICloneable生存期:临时实现类型:MediatR.ServiceFactory'时出错:尝试激活'MediatR.ServiceFactory'时无法解析类型'System.Object'的服务。

这是我在Startup.cs中的代码

services.AddMediatR(typeof(BlogPost));

并且我正在使用Scrutor扫描IMediator

services.Scan(scan => scan
          .FromAssembliesOf(typeof(ISettingService), typeof(IMediator), typeof(BlogPost), typeof(IHomeHelper))
          .AddClasses()
          .UsingRegistrationStrategy(RegistrationStrategy.Skip) 
          .AsImplementedInterfaces()
          .WithScopedLifetime());

上面的代码在2.2中有效,但是由于错误,现在我什至无法启动该程序。有人可以告诉我们出什么问题了吗?

1 个答案:

答案 0 :(得分:1)

禁用验证范围。

// Program.cs
public static IWebHost BuildWebHost(string[] args) =>
 WebHost.CreateDefaultBuilder(args)
 .UseStartup<Startup>()
 .UseDefaultServiceProvider(options => options.ValidateScopes = false) // <<<<<<<<<<<
 .Build();