WorkerService 使用 MassTransit 配置 RabbitMq

Eli*_*ali 6 dependency-injection masstransit rabbitmq

在 WorkerService .Net 中,我尝试使用 RabbitMq 配置 MassTransit 主机,但收到此错误

对类型“IBusControl”的引用声称它是在“MassTransit”中定义的,但找不到

IHost host = Host.CreateDefaultBuilder(args)
.ConfigureServices((context,services) =>
{
    services.AddHostedService<Worker>();

    services.AddAutoMapper(typeof(Program));
    //MassTransit-RabbitMQ Configuration
    services.AddMassTransit(config => {
        config.UsingRabbitMq((ctx, cfg) => {
            cfg.Host(context.Configuration.GetValue<string>("EventBusSettings:HostAddress"));
        });
    });
    services.AddMassTransitHostedService();
})
.Build();

await host.RunAsync();
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

Chr*_*son 13

您可能引用的程序集不是最新的。最新版本的 MassTransit 不再需要AddMassTransitHostedService配置方法。文档中提供了更多详细信息。