Abhay Shiro
Abhay Shiro

Reputation: 3627

Can't convert from Microsoft.Extensions.Configuration.IConfigurationBuilder' to 'Microsoft.Extensions.Configuration.IConfiguration'

When working with ASP.NET Core, in Program.cs when we add Configuration I faced an unusual issue (for those who are expert in ASP.NET CORE may find this basic). When I was trying to add .UseConfiguration(config) it gave me a error saying -

Can't convert from Microsoft.Extensions.Configuration.IConfigurationBuilder' to 'Microsoft.Extensions.Configuration.IConfiguration'

The following is my code:

var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("hosting.json", optional: true);;


            var host = new WebHostBuilder()
                .UseKestrel()
                .UseConfiguration(config)
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

Upvotes: 2

Views: 3650

Answers (1)

Abhay Shiro
Abhay Shiro

Reputation: 3627

Well, I tried different approaches, until I figured out the simple solution was instead of just writing config in the parameters of .UseConfiguration, I had to do .UseConfiguration(config.Build())

var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("hosting.json", optional: true);;


        var host = new WebHostBuilder()
            .UseKestrel()
            .UseConfiguration(config.Build())
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

Upvotes: 4

Related Questions