title: MassTransit failing to consume
body: <p>I'm switching some code which uses MassTransit (v7.2.2 on .NET 5) to use a more declarative format (and away from multiple calls to ReceiveEndpoint()) and ideally to using ConsumerDefinitions for the configuration (though not part of this example for simplicity), along with some Dependency Injection with Quartz.NET (yanked from this example, though it running 3.3.3), in doing so I find now that my Consumers are not consuming, despite messages being sent and examples referenced. Take the following standing up of the MassTransit service:</p>
  <pre><code>        var hostBuilder = Host.CreateDefaultBuilder(args)
              .ConfigureServices((hostContext, services) =&gt;
              {
                  services.AddMassTransit(mt =&gt;
                  {
                      mt.AddBus(provider =&gt; Bus.Factory.CreateUsingInMemory(cfg =&gt;
                      {
                          //cfg.AutoStart = true; //No change when on
                          cfg.UseInMemoryOutbox();
                          cfg.ConfigureEndpoints(provider);
                      }));
  
                      mt.AddConsumer&lt;TheMessageConsumer&gt;();
                      services.AddMediator(cfg =&gt;
                      {
                          cfg.AddConsumer&lt;TheMessageConsumer&gt;();
                      });
                  });
  
                  services.AddMassTransitHostedService();
              });
          var host = hostBuilder.Build();
          var busControl = host.Services.GetService&lt;IBusControl&gt;();
  
          busControl.Start(); //Just in case
  
          var message = new TheMessage() { Message = $&quot;&lt;Message-{DateTime.Now.ToLongTimeString()}&gt;&quot; };
          Console.WriteLine($&quot;Sending: {message.Message}&quot;);
          await busControl.Publish(message);
  
          host.Run();
  </code></pre>
  <p>For note, the breaking out of the message sending here is to simplify my repro, as in my full code base, it's being sent by a Quartz fired job.</p>
  <p>For this example, the message &amp; receiver are also quite simple:</p>
  <pre><code>    public class TheMessage
      {
          public string Message { get; set; }
      }
  
      public class TheMessageConsumer : IConsumer&lt;TheMessage&gt;
      {
          public Task Consume(ConsumeContext&lt;TheMessage&gt; context)
          {
              Console.WriteLine($&quot;Message received: {context.Message.Message}&quot;);
  
              return Task.CompletedTask;
          }
      }
  </code></pre>
  <p>The bus is started, either in the case I explicitly start it, the AutoStart flag is set, or the MassTransitHostedService does it, yet the message doesn't get received. Ditto if I have the full example with Quartz firing off a job with messages much later.</p>
  <p>Can someone suggest what I am missing?</p>