1. 程式人生 > >10分鐘 Castle.Windsor 適配 Asp.Net Core 3.0

10分鐘 Castle.Windsor 適配 Asp.Net Core 3.0

**Asp.Net Core 3.0**以上,不再能通過修改**Starup.ConfigureServices**返回值(**IServiceProvider**),所以只能呼叫**IHostBuilder.UseServiceProviderFactory**修改最外層的**IServiceProviderFactory**,達到替換DI容器的目的。 流程是**IHostBuilder.UseServiceProviderFactory->IHostBuilder.ConfigureServices->Starup.ConfigureServices**,而且**IHostBuilder.UseServiceProviderFactory**不支援依賴注入,所以只能例項化了,不能取巧的**IHostBuilder.ConfigureServices**內註冊**IServiceProviderFactory