And next year when ASP.NET 5 ships, we'll finally be able to use environment variables for appSettings [1] instead of the hacked up mess that web.config is right now.
[1] http://docs.asp.net/en/latest/fundamentals/configuration.htm...
[1] http://docs.asp.net/en/latest/fundamentals/configuration.htm...
And server admins/devops won't have a problem. Applications will hopefully use variable with a prefix, e.g. App123Debug
Hopefully...
What people want:
A static class that sets itself up on its own
What they've given everyone:
A class you've got to inject and instantiate on your own using IOptions<TOption> with each call to Configure<TOption> adding an IConfigureOptions<TOption> service to the service container that is used by the IOptions<TOption>
Mind boggles at the over-engineering.
They're just being consistent with the way most software is written nowadays.