title: Property Injection does not work when using RegisterApiControllers extension method
body: <p>Consider my simple controller class where I want to use a logger (ILogger is coming from Castle in this case).</p>
  <pre><code>[RoutePrefix(&quot;api/orders&quot;)]
  public class SignalController : ApiController
  {
      public ILogger Logger { get; set; } = new NullLogger();
  
      // POST api/orders/update
      [HttpPost, Route(&quot;update&quot;)]
      public virtual void UpdateHandler(ChangeStateDto update)
      {
          this.Logger.Info($&quot;Received ChangeStateDto with status {update.Status}&quot;);
      }
  }
  </code></pre>
  <p>Then I've got a self-hosted webhost, that looks like this.</p>
  <pre><code>public class WebHost
  {
      private readonly string url;
      private IDisposable disposable;
      private readonly ILifetimeScope scope;
  
      public WebHost(string url, ILifetimeScope scope)
      {
          this.url = url;
          this.scope = scope;
      }
  
      public ILogger Logger { get; set; } = new NullLogger();
  
      // ...
  
      public void Start()
      {
          try
          {
              this.Logger.Info($&quot;Starting web host at {url}&quot;);
              this.disposable = WebApp.Start(this.url, app =&gt;
              {
                  var config = new HttpConfiguration
                  {
                      DependencyResolver = new AutofacWebApiDependencyResolver(scope)
                  };
  
                  config.MapHttpAttributeRoutes();
                  app.UseWebApi(config);
              });
  
              // ...
          }
          catch (Exception e)
          {
              // ...
              this.Logger.Error(e.Message, e);
          }
      }
  }
  </code></pre>
  <p>And this is the calling type</p>
  <pre><code>public class SomeCallerClass
  {
      public SomeCallerClass()
      {
          var webHostLogger = new SomeILoggerImplementation(this, &quot;WebHost&quot;);
  
          var builder = new ContainerBuilder();
          builder.RegisterApiControllers()
                 .WithProperty(&quot;Logger&quot;, webHostLogger);
          var container = builder.Build();
              
          this.webHost = new WebHost(&quot;http://localhost:9000&quot;, container)
          {
              Logger = webHostLogger
          };
      }
  }
  </code></pre>
  <p>Now the issue I am having is that property injection is not working for my <code>SignalController</code> type. It always holds a reference to the <code>NullLogger</code> instance. I just can't figure out why.</p>