In .NET Core the way you wire you your configuration classes has changed since .NET Framework. Typically in netfx I would define interfaces in my application code and then in the composition root (such as a web site) I would create classes which implement these and wrap the ConfigurationManager. I like that approach because it's easy to switch out the implementation later for specific classes, such as using configuration DB or even having some custom calculations or parsing driving the configuration. In netcore, it seems Microsoft are pushing you down the route of POCO classes for configuration. You still have the option to create interfaces on top of these classes for your downstream consumers, or to pass these in as classes directly, or wrap the dependency in an IOptions interface. The general approach I see online is to create entries in ConfigureServices within the Startup.cs which uses "Configuration.Bind" to hydrate these classes, but this gets quite messy in my opinion, as it creates 3 lines of code inside ConfigureServices per configuration object and leaks concerns of implementation into the Startup.cs, away from the implementation class itself. e.g.
// startup.cs - ConfigureServices
var someSettings = new SomeSettings();
Configuration.Bind("SomeSettings", someSettings);
services.AddSingleton<ISomeSettings>(someSettings);

// SomeSettings.cs
public class SomeSettings : ISomeSettings
{
    public int SomeIntSetting { get; set; }
}
My preferred approach is to straddle old and new.. I will create an implementation in the composition root which "wraps" the application configuration, but instead of this being the old "ConfigurationManager" it simply takes a dependency on IConfiguration, that way if you want to deviate from this you only change the class that you are intending to change and also it keeps the details of how those configurations are materialised to the class that defines them. e.g.
// startup.cs - ConfigureServices
services.AddSingleton<ISomeSettings, SomeSettings>();

// SomeSettings.cs
public class SomeSettings : ISomeSettings
{
    public SomeSettings(IConfiguration configuration)
    {
        configuration.Bind("SomeSettings", this);
    }

    public int SomeIntSetting { get; set; }
}