未注册的 IServiceProvider

IServiceProvider that is not registered

应用启动时出现错误

The constructor of type ImportExportController contains the parameter with name 'serviceProvider' and type IServiceProvider that is not registered. Please ensure IServiceProvider is registered, or change the constructor of ImportExportController

我的代码

public class ImportExportController : BaseController
{
   private readonly IServiceProvider _serviceProvider;

   public ImportExportController(IServiceProvider serviceProvider)
   {
     _serviceProvider = serviceProvider;
   }
}

对于依赖项的注入,我使用的是 Simple Injector

错误发生在container.Verify();

private static void Register(Container container)
{
   _container = container;
   container.Register<IXmlServices, XmlServices>();
   container.Verify();
}

我在这里使用_serviceProvider

foreach (var element in productsToImport)
{​​​​​​​
   using (var scope = _serviceProvider.CreateScope())
   {​​​​​​​
      var app = scope.ServiceProvider.GetService<IImportApp>();
      var task = Task.Run(() => app.ImportData(element, UserName, ImportID, PricesCurrencies));
      listTask.Add(task);
   }​​​​​​​
}​​​​​​​
Task.WaitAll(listTask.ToArray());

您需要像注册 IXmlServices 一样注册 IServiceProvider

container.Register<IServiceProvider, ServiceProvider>();

鉴于此,ServiceProvider 是实现接口 IServiceProvider 的 class。