Похоже, что ваша настройка автофака неверна.Пожалуйста, взгляните на то, что описано ниже.
Program.cs
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureServices(collection => collection.AddAutofac()) //Important
.Build();
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void ConfigureContainer(ContainerBuilder builder)
{
container.RegisterModule(new ApplicationModule());
}
Из-за строки .ConfigureServices(collection => collection.AddAutofac())
в вашей программеcs ConfigureContainer(ContainerBuilder builder)
автоматически вызывается (ставит точку останова :)) в вашем классе запуска, и контейнер создается и регистрируется в вашем текущем API, если вы скопируете это в ваш вторичный API, вам не придется беспокоиться о передаче вашей коллекции сервисов.вокруг одного API к другому, и каждый из них будет регистрировать свои собственные зависимости.
Также убедитесь, что у вас установлен Autofac.Extensions.DependencyInjection
пакет nuget!