WebHost not started when Diagnostic extension was added
IvanovNiko opened this issue · 1 comments
IvanovNiko commented
I added Diagnostic extension to my UnityContainer
...
var Container = new UnityContainer();
Container.AddExtension(new Diagnostic());
Container.LoadConfiguration();
...
and then i have an exception when starting asp.net webhost:
System.InvalidOperationException: No service for type 'Microsoft.Extensions.Logging.ILogger`1[Microsoft.AspNetCore.Hosting.Internal.WebHost]' has been registered.
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
The host is creating following:
...
WebHost.CreateDefaultBuilder(null)
.UseUnityServiceProvider(ITA.Common.Unity.Unity.Container)
.UseContentRoot(Path.Combine(Path.GetDirectoryName(Assembly.GetAssembly(typeof(ExternalService)).Location)))
.ConfigureLogging((context, logging) =>
{
// clear all previously registered providers
logging.ClearProviders();
var fi = Log4NetHelper.GetLog4NetConfigFile();
logging.AddLog4Net(new Log4NetProviderOptions()
{
Name = ComponentName,
Log4NetConfigFileName = fi.FullName,
Watch = Log4NetHelper.GetLog4NetWatch()
});
logging.SetMinimumLevel(LogLevel.Debug);
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddJsonFile(_config.SettingsFile, optional: true, reloadOnChange: true);
})
.UseStartup<Startup>()
.Build();
...