WorkerService 使用 MassTransit 配置 RabbitMq

WorkerService configure a RabbitMq with MassTransit

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

Reference to type 'IBusControl' claims it is defined in 'MassTransit', but it could not be found

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();

我错过了什么?

您引用的程序集可能不是最新的。最新版本的 MassTransit 不再需要 AddMassTransitHostedService 配置方法。更多详细信息可用 in the documentation