unitycontainer/microsoft-dependency-injection

WebHost not started when Diagnostic extension was added

IvanovNiko opened this issue · 1 comments

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();
...
ENikS commented

Duplicate #47