Microsoft.Extensions.Configuration 10.0.5

About

Microsoft.Extensions.Configuration is combined with a core configuration abstraction under Microsoft.Extensions.Configuration.Abstractions that allows for building different kinds of configuration providers to retrieve key/value pair configuration values from in the form of IConfiguration. There are a number of built-in configuration provider implementations to read from environment variables, in-memory collections, JSON, INI or XML files. Aside from the built-in variations, there are more shipped libraries shipped by community for integration with various configuration service and other data sources.

Key Features

  • In-memory configuration provider
  • Chained configuration provider for chaining multiple confiugration providers together.
  • Base types that implement configuration abstraction interfaces that can be used when implementing other configuration providers.

How to Use

using Microsoft.Extensions.Configuration;

var configurationBuilder = new ConfigurationBuilder();

configurationBuilder.AddInMemoryCollection(
    new Dictionary<string, string?>
    {
        ["Setting1"] = "value",
        ["MyOptions:Enabled"] = bool.TrueString,
    });

configurationBuilder.AddInMemoryCollection(
    new Dictionary<string, string?>
    {
        ["Setting2"] = "value2",
        ["MyOptions:Enabled"] = bool.FalseString,
    });

var config = configurationBuilder.Build();

// note case-insensitive
Console.WriteLine(config["setting1"]);
Console.WriteLine(config["setting2"]);

// note last in wins
Console.WriteLine(config["MyOptions:Enabled"]);

Main Types

The main types provided by this library are:

  • Microsoft.Extensions.Configuration.ConfigurationBuilder
  • Microsoft.Extensions.Configuration.ConfigurationManager
  • Microsoft.Extensions.Configuration.ConfigurationRoot
  • Microsoft.Extensions.Configuration.ConfigurationSection

Additional Documentation

Feedback & Contributing

Microsoft.Extensions.Configuration is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on Microsoft.Extensions.Configuration.

Packages Downloads
ModelingEvolution.RuntimeConfiguration
Package Description
337
Microsoft.Extensions.Diagnostics
This package includes the default implementation of IMeterFactory and additional extension methods to easily register it with the Dependency Injection framework.
227
Microsoft.Extensions.Configuration.Json
JSON configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read your application's settings from a JSON file. You can use JsonConfigurationExtensions.AddJsonFile extension method on IConfigurationBuilder to add the JSON configuration provider to the configuration builder.
199
Microsoft.Extensions.Configuration.CommandLine
Command line configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from the command line arguments of your application. You can use CommandLineConfigurationExtensions.AddCommandLine extension method on IConfigurationBuilder to add the command line configuration provider to the configuration builder.
195
Microsoft.Extensions.Configuration.EnvironmentVariables
Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from environment variables. You can use EnvironmentVariablesExtensions.AddEnvironmentVariables extension method on IConfigurationBuilder to add the environment variables configuration provider to the configuration builder.
195
Microsoft.Extensions.Configuration.Binder
Provides the functionality to bind an object to data in configuration providers for Microsoft.Extensions.Configuration. This package enables you to represent the configuration data as strongly-typed classes defined in the application code. To bind a configuration, use the Microsoft.Extensions.Configuration.ConfigurationBinder.Get extension method on the IConfiguration object. To use this package, you also need to install a package for the configuration provider, for example, Microsoft.Extensions.Configuration.Json for the JSON provider.
160
Microsoft.Extensions.Configuration.Binder
Provides the functionality to bind an object to data in configuration providers for Microsoft.Extensions.Configuration. This package enables you to represent the configuration data as strongly-typed classes defined in the application code. To bind a configuration, use the Microsoft.Extensions.Configuration.ConfigurationBinder.Get extension method on the IConfiguration object. To use this package, you also need to install a package for the configuration provider, for example, Microsoft.Extensions.Configuration.Json for the JSON provider.
115
Microsoft.Extensions.Diagnostics
This package includes the default implementation of IMeterFactory and additional extension methods to easily register it with the Dependency Injection framework.
115
Microsoft.Extensions.Configuration.FileExtensions
Provides a base class for file-based configuration providers used with Microsoft.Extensions.Configuration and extension methods for configuring them.
100
Microsoft.Extensions.Configuration.Json
JSON configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read your application's settings from a JSON file. You can use JsonConfigurationExtensions.AddJsonFile extension method on IConfigurationBuilder to add the JSON configuration provider to the configuration builder.
97
Microsoft.Extensions.Diagnostics
This package includes the default implementation of IMeterFactory and additional extension methods to easily register it with the Dependency Injection framework.
89
Microsoft.Extensions.Configuration.Binder
Provides the functionality to bind an object to data in configuration providers for Microsoft.Extensions.Configuration. This package enables you to represent the configuration data as strongly-typed classes defined in the application code. To bind a configuration, use the Microsoft.Extensions.Configuration.ConfigurationBinder.Get extension method on the IConfiguration object. To use this package, you also need to install a package for the configuration provider, for example, Microsoft.Extensions.Configuration.Json for the JSON provider.
80
Microsoft.Extensions.Configuration.CommandLine
Command line configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from the command line arguments of your application. You can use CommandLineConfigurationExtensions.AddCommandLine extension method on IConfigurationBuilder to add the command line configuration provider to the configuration builder.
79
Microsoft.Extensions.Logging.Configuration
Configuration support for Microsoft.Extensions.Logging.
79
Microsoft.Extensions.Configuration.FileExtensions
Provides a base class for file-based configuration providers used with Microsoft.Extensions.Configuration and extension methods for configuring them.
79
Microsoft.Extensions.Hosting
Hosting and startup infrastructures for applications.
79
Microsoft.Extensions.Configuration.EnvironmentVariables
Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from environment variables. You can use EnvironmentVariablesExtensions.AddEnvironmentVariables extension method on IConfigurationBuilder to add the environment variables configuration provider to the configuration builder.
79
Microsoft.Extensions.Configuration.Json
JSON configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read your application's settings from a JSON file. You can use JsonConfigurationExtensions.AddJsonFile extension method on IConfigurationBuilder to add the JSON configuration provider to the configuration builder.
79
Microsoft.Extensions.Diagnostics
This package includes the default implementation of IMeterFactory and additional extension methods to easily register it with the Dependency Injection framework.
79
Microsoft.Extensions.Configuration.Binder
Provides the functionality to bind an object to data in configuration providers for Microsoft.Extensions.Configuration. This package enables you to represent the configuration data as strongly-typed classes defined in the application code. To bind a configuration, use the Microsoft.Extensions.Configuration.ConfigurationBinder.Get extension method on the IConfiguration object. To use this package, you also need to install a package for the configuration provider, for example, Microsoft.Extensions.Configuration.Json for the JSON provider.
76

Version Downloads Last updated
11.0.0-preview.5.26302.115 1 06/14/2026
11.0.0-preview.4.26230.115 2 05/17/2026
11.0.0-preview.3.26207.106 5 04/25/2026
11.0.0-preview.2.26159.112 3 04/25/2026
11.0.0-preview.1.26104.118 3 04/25/2026
10.0.9 93 06/14/2026
10.0.8 115 05/17/2026
10.0.7 160 04/25/2026
10.0.6 3 04/25/2026
10.0.5 7 03/16/2026
10.0.4 3 04/25/2026
10.0.3 58 03/16/2026
10.0.2 4 03/17/2026
10.0.1 119 03/16/2026
10.0.0 73 03/16/2026
10.0.0-rc.2.25502.107 3 04/25/2026
10.0.0-rc.1.25451.107 4 04/25/2026
10.0.0-preview.7.25380.108 3 04/25/2026
10.0.0-preview.6.25358.103 3 04/25/2026
10.0.0-preview.5.25277.114 4 04/25/2026
10.0.0-preview.4.25258.110 3 04/25/2026
10.0.0-preview.3.25171.5 3 04/25/2026
10.0.0-preview.2.25163.2 3 04/25/2026
10.0.0-preview.1.25080.5 3 04/25/2026
9.0.17 1 06/14/2026
9.0.16 3 05/17/2026
9.0.15 3 04/25/2026
9.0.14 4 04/25/2026
9.0.13 3 04/25/2026
9.0.12 3 04/25/2026
9.0.11 3 04/25/2026
9.0.10 3 04/25/2026
9.0.9 4 04/25/2026
9.0.8 205 03/16/2026
9.0.7 3 04/25/2026
9.0.6 3 04/25/2026
9.0.5 3 04/25/2026
9.0.4 3 04/25/2026
9.0.3 3 04/25/2026
9.0.2 3 04/25/2026
9.0.1 3 04/25/2026
9.0.0 4 04/25/2026
9.0.0-rc.2.24473.5 3 04/25/2026
9.0.0-rc.1.24431.7 3 04/25/2026
9.0.0-preview.7.24405.7 3 04/25/2026
9.0.0-preview.6.24327.7 3 04/25/2026
9.0.0-preview.5.24306.7 3 04/25/2026
9.0.0-preview.4.24266.19 3 04/25/2026
9.0.0-preview.3.24172.9 4 04/25/2026
9.0.0-preview.2.24128.5 3 04/25/2026
9.0.0-preview.1.24080.9 3 04/25/2026
8.0.0 3 04/25/2026
8.0.0-rc.2.23479.6 4 04/25/2026
8.0.0-rc.1.23419.4 4 04/25/2026
8.0.0-preview.7.23375.6 3 04/25/2026
8.0.0-preview.6.23329.7 3 04/25/2026
8.0.0-preview.5.23280.8 4 04/25/2026
8.0.0-preview.4.23259.5 3 04/25/2026
8.0.0-preview.3.23174.8 3 04/25/2026
8.0.0-preview.2.23128.3 3 04/25/2026
8.0.0-preview.1.23110.8 3 04/25/2026
7.0.0 3 04/25/2026
7.0.0-rc.2.22472.3 3 04/25/2026
7.0.0-rc.1.22426.10 3 04/25/2026
7.0.0-preview.7.22375.6 3 04/25/2026
7.0.0-preview.6.22324.4 3 04/25/2026
7.0.0-preview.5.22301.12 4 04/25/2026
7.0.0-preview.4.22229.4 3 04/25/2026
7.0.0-preview.3.22175.4 3 04/25/2026
7.0.0-preview.2.22152.2 3 04/25/2026
7.0.0-preview.1.22076.8 3 04/25/2026
6.0.2 3 04/25/2026
6.0.1 4 04/25/2026
6.0.0 3 04/25/2026
6.0.0-rc.2.21480.5 3 04/25/2026
6.0.0-rc.1.21451.13 3 04/25/2026
6.0.0-preview.7.21377.19 3 04/25/2026
6.0.0-preview.6.21352.12 3 04/25/2026
6.0.0-preview.5.21301.5 3 04/25/2026
6.0.0-preview.4.21253.7 3 04/25/2026
6.0.0-preview.3.21201.4 3 04/25/2026
6.0.0-preview.2.21154.6 3 04/25/2026
6.0.0-preview.1.21102.12 3 04/25/2026
5.0.0 3 04/25/2026
5.0.0-rc.2.20475.5 4 04/25/2026
5.0.0-rc.1.20451.14 3 04/25/2026
5.0.0-preview.8.20407.11 3 04/25/2026
5.0.0-preview.7.20364.11 3 04/25/2026
5.0.0-preview.6.20305.6 4 04/25/2026
5.0.0-preview.5.20278.1 3 04/25/2026
5.0.0-preview.4.20251.6 3 04/25/2026
5.0.0-preview.3.20215.2 3 04/25/2026
5.0.0-preview.2.20160.3 3 04/25/2026
5.0.0-preview.1.20120.4 3 04/25/2026
3.1.32 3 04/25/2026
3.1.31 3 04/25/2026
3.1.30 3 04/25/2026
3.1.29 4 04/25/2026
3.1.28 3 04/25/2026
3.1.27 3 04/25/2026
3.1.26 3 04/25/2026
3.1.25 3 04/25/2026
3.1.24 3 04/25/2026
3.1.23 4 04/23/2026
3.1.22 3 04/25/2026
3.1.21 3 04/25/2026
3.1.20 4 04/25/2026
3.1.19 3 04/25/2026
3.1.18 3 04/25/2026
3.1.17 4 04/25/2026
3.1.16 4 04/25/2026
3.1.15 3 04/25/2026
3.1.14 4 04/25/2026
3.1.13 3 04/25/2026
3.1.12 3 04/25/2026
3.1.11 3 04/25/2026
3.1.10 5 04/25/2026
3.1.9 4 04/25/2026
3.1.8 3 04/25/2026
3.1.7 4 04/25/2026
3.1.6 3 04/25/2026
3.1.5 3 04/25/2026
3.1.4 4 04/25/2026
3.1.3 4 04/25/2026
3.1.2 3 04/25/2026
3.1.1 3 04/25/2026
3.1.0 3 04/25/2026
3.1.0-preview3.19553.2 4 04/25/2026
3.1.0-preview2.19525.4 3 04/25/2026
3.1.0-preview1.19506.1 4 04/25/2026
3.0.3 4 04/25/2026
3.0.2 3 04/25/2026
3.0.1 3 04/25/2026
3.0.0 3 04/25/2026
3.0.0-rc1.19456.10 3 04/25/2026
3.0.0-preview9.19423.4 4 04/25/2026
3.0.0-preview8.19405.4 3 04/25/2026
3.0.0-preview7.19362.4 4 04/25/2026
3.0.0-preview6.19304.6 3 04/25/2026
3.0.0-preview5.19227.9 3 04/25/2026
3.0.0-preview4.19216.2 3 04/25/2026
3.0.0-preview3.19153.1 3 04/25/2026
3.0.0-preview.19074.2 3 04/25/2026
3.0.0-preview.18572.1 3 04/25/2026
2.2.0 4 04/25/2026
2.2.0-preview3-35497 3 04/25/2026
2.2.0-preview2-35157 3 04/25/2026
2.2.0-preview1-35029 3 04/25/2026
2.1.1 4 03/28/2026
2.1.0 3 04/25/2026
2.1.0-rc1-final 3 04/25/2026
2.1.0-preview2-final 3 04/25/2026
2.1.0-preview1-final 3 04/25/2026
2.0.2 3 04/25/2026
2.0.1 3 04/25/2026
2.0.0 4 04/25/2026
2.0.0-preview2-final 3 04/25/2026
2.0.0-preview1-final 4 04/25/2026
1.1.2 3 04/25/2026
1.1.1 4 04/25/2026
1.1.0 4 04/25/2026
1.1.0-preview1-final 3 04/25/2026
1.0.2 3 04/25/2026
1.0.1 4 04/25/2026
1.0.0 3 04/25/2026
1.0.0-rc2-final 3 04/25/2026
1.0.0-rc1-final 3 04/25/2026