Не удается найти AddMasstransitHostedService

#c# #asp.net-core #masstransit

Вопрос:

Добрый день, я настраиваю Masstransit для .net6 приложение net core Добавило пакеты nuget Masstransit:

 lt;PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="7.2.4" /gt; lt;PackageReference Include="MassTransit.RabbitMQ" Version="7.2.4" /gt;  

Я регистрирую его при запуске, и в нем говорится, что нет такого метода, как AddMasstransitHostedService Я попытался опубликовать сообщение без него, но обмен не создается (и по какой-то причине отладка также показывает фактический адрес с портом 0)

Был бы очень благодарен за помощь, Поискал все, что связано с Интернетом, к сожалению, исправлений пока нет

Вот как я регистрирую Масстрансит:

 services.AddMassTransit(mt =gt; {  mt.UsingRabbitMq((context, cfg) =gt;  {  cfg.Host(new Uri(RabbitMqOptions.RabbitMqUri), h =gt;  {  h.Username(RabbitMqOptions.UserName);  h.Password(RabbitMqOptions.Password);  });    cfg.AutoStart = true;   cfg.Publishlt;IServerNotificationMessagegt;(e =gt; e.ExchangeType = RabbitMQ.Client.ExchangeType.Direct);  }); }); services.AddMassTransitHostedService();//lt;-----this one hints: IServiceCollection doesnt contain a definition for AddMassTransitHostedService...  

и вот как я попытался опубликовать сообщение:

 public class SomeController : ControllerBase {  protected readonly IBus _bus;   public SomeController(IBus bus)  {  _bus = bus;  }   [HttpGet("TestPublish")]  public void TestPublish(CancellationToken cancellationToken)  {  _bus.Publishlt;SomeMessagegt;(new  {  ...  ... // fields go here  }, cancellationToken);  

Комментарии:

1. Пожалуйста, укажите, какие пакеты nuget и какую версию MassTransit вы установили.

2. Расширения. Зависимость» Версия=»7.2.4″ /gt; gt; RabbitMQ» Версия=»7.2.4″ /gt; И моя целевая платформа-net6

3. Спасибо, как уже упоминалось ниже, вы должны добавить MassTransit. AspNetCore.

Ответ №1:

Вам нужно добавить MassTransit.AspNetCore ссылку на пакет.

Комментарии:

1. Спасибо, что добавили пакет, теперь он видит AddMasstransitHostedService, Может быть, вы знаете, почему при публикации не создается обмен?

2. Просмотрите журналы, но они должны быть созданы.