MediatR,泛型和.NET核心依赖注入 - 无法实例化处理程序

时间:2018-03-07 07:42:36

标签: c# dependency-injection .net-core mediatr

我正在构建应用程序并尝试使用MediatR实现域事件。 我使用MediatR 4.0.0进行.NET Core 2.1(预览,但我不认为这是问题)

我正在使用example的eShopOnContainers / Ordering服务。他们使用Autofac,但我更喜欢使用MediatR extension for that

坚持原生DI容器

我的应用在启动时崩溃了。错误:

  

System.ArgumentException:'无法实例化实现类型   ' MyProject.API.Application.Commands.IdentifierCommandHandler`2 [T,R]'   对于服务类型

     
    

' {MediatR.IRequestHandler {1}}> 2 [T,R],R]''

  

我的Nuget套餐:

2[MyProject.API.Application.Commands.IdentifiedCommand

尝试注册IdentifiedCommandHandler时,我的应用在启动时崩溃:

<ItemGroup>
    <PackageReference Include="MediatR" Version="4.0.1" />
    <PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="4.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-preview1-final" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0-preview1-final" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0-preview1" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="2.2.0" />
  </ItemGroup>

我将不胜感激。 我不得不改变它以使其与当前的MediatR兼容,所以我有IRequestHandler而不是IAsyncRequestHandler,因为它不再存在。

0 个答案:

没有答案