Microsoft.Extensions.Configuration.Binder 8.0.0-preview.5.23280.8

About

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.

For more information, see the documentation: Configuration in .NET.

Example

The following example shows how to bind a JSON configuration section to .NET objects.

using System;
using Microsoft.Extensions.Configuration;

class Settings
{
    public string Server { get; set; }
    public string Database { get; set; }
    public Endpoint[] Endpoints { get; set; }
}

class Endpoint
{
    public string IPAddress { get; set; }
    public int Port { get; set; }
}

class Program
{
    static void Main()
    {
        // Build a configuration object from JSON file
        IConfiguration config = new ConfigurationBuilder()
            .AddJsonFile("appsettings.json")
            .Build();

        // Bind a configuration section to an instance of Settings class
        Settings settings = config.GetSection("Settings").Get<Settings>();

        // Read simple values
        Console.WriteLine($"Server: {settings.Server}");
        Console.WriteLine($"Database: {settings.Database}");

        // Read nested objects
        Console.WriteLine("Endpoints: ");
        
        foreach (Endpoint endpoint in settings.Endpoints)
        {
            Console.WriteLine($"{endpoint.IPAddress}:{endpoint.Port}");
        }
    }
}

To run this example, include an appsettings.json file with the following content in your project:

{
  "Settings": {
    "Server": "example.com",
    "Database": "Northwind",
    "Endpoints": [
      {
        "IPAddress": "192.168.0.1",
        "Port": "80"
      },
      {
        "IPAddress": "192.168.10.1",
        "Port": "8080"
      }
    ]
  }
}

You can include a configuration file using a code like this in your .csproj file:

<ItemGroup>
  <Content Include="appsettings.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Content>
</ItemGroup>

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

Packages Downloads
Microsoft.Extensions.Logging
Logging infrastructure default implementation for Microsoft.Extensions.Logging.
36
Microsoft.Extensions.Logging.Configuration
Configuration support for Microsoft.Extensions.Logging.
98
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options.
36
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options.
37
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options.
39
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options.
98
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options.
114
Microsoft.Extensions.Options.ConfigurationExtensions
Provides additional configuration specific functionality related to Options. When using NuGet 3.x this package requires at least version 3.4.
36
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
37
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
39
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
40
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
41
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
49
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
53
Sentry.AspNetCore
Official ASP.NET Core integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
68
Sentry.Extensions.Logging
Official Microsoft.Extensions.Logging integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
37
Sentry.Extensions.Logging
Official Microsoft.Extensions.Logging integration for Sentry - Open-source error tracking that helps developers monitor and fix crashes in real time.
40
Serilog.Settings.Configuration
Microsoft.Extensions.Configuration (appsettings.json) support for Serilog.
114

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

.NET 6.0

.NET 7.0

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
9.0.0-rc.2.24473.5 2 10/22/2024
9.0.0-rc.1.24431.7 2 10/25/2024
9.0.0-preview.7.24405.7 3 08/20/2024
9.0.0-preview.6.24327.7 25 07/23/2024
9.0.0-preview.5.24306.7 16 07/23/2024
9.0.0-preview.4.24266.19 27 07/23/2024
9.0.0-preview.3.24172.9 28 07/23/2024
9.0.0-preview.2.24128.5 24 07/23/2024
9.0.0-preview.1.24080.9 28 07/22/2024
8.0.2 21 07/23/2024
8.0.1 23 07/23/2024
8.0.0 85 02/04/2024
8.0.0-rc.2.23479.6 19 07/23/2024
8.0.0-rc.1.23419.4 24 07/23/2024
8.0.0-preview.7.23375.6 20 07/23/2024
8.0.0-preview.6.23329.7 20 07/23/2024
8.0.0-preview.5.23280.8 26 07/23/2024
8.0.0-preview.4.23259.5 19 07/23/2024
8.0.0-preview.3.23174.8 26 07/23/2024
8.0.0-preview.2.23128.3 26 07/23/2024
8.0.0-preview.1.23110.8 19 07/23/2024
7.0.4 29 07/21/2024
7.0.3 27 07/23/2024
7.0.2 20 07/23/2024
7.0.1 18 07/23/2024
7.0.0 26 02/05/2024
7.0.0-rc.2.22472.3 20 07/19/2024
7.0.0-rc.1.22426.10 17 07/23/2024
7.0.0-preview.7.22375.6 14 08/12/2024
7.0.0-preview.6.22324.4 18 07/23/2024
7.0.0-preview.5.22301.12 23 07/23/2024
7.0.0-preview.4.22229.4 23 07/23/2024
7.0.0-preview.3.22175.4 33 07/23/2024
7.0.0-preview.2.22152.2 25 07/23/2024
7.0.0-preview.1.22076.8 30 07/23/2024
6.0.0 93 02/04/2024
6.0.0-rc.2.21480.5 23 07/23/2024
6.0.0-rc.1.21451.13 25 07/23/2024
6.0.0-preview.7.21377.19 29 07/23/2024
6.0.0-preview.6.21352.12 26 07/23/2024
6.0.0-preview.5.21301.5 19 07/23/2024
6.0.0-preview.4.21253.7 19 07/23/2024
6.0.0-preview.3.21201.4 27 07/23/2024
6.0.0-preview.2.21154.6 21 07/23/2024
6.0.0-preview.1.21102.12 23 07/23/2024
5.0.0 24 07/23/2024
5.0.0-rc.2.20475.5 31 07/23/2024
5.0.0-rc.1.20451.14 24 07/23/2024
5.0.0-preview.8.20407.11 21 07/23/2024
5.0.0-preview.7.20364.11 14 07/23/2024
5.0.0-preview.6.20305.6 31 07/23/2024
5.0.0-preview.5.20278.1 23 07/23/2024
5.0.0-preview.4.20251.6 25 07/23/2024
5.0.0-preview.3.20215.2 26 07/23/2024
5.0.0-preview.2.20160.3 23 07/23/2024
5.0.0-preview.1.20120.4 28 07/23/2024
3.1.32 20 07/23/2024
3.1.31 24 07/23/2024
3.1.30 25 07/20/2024
3.1.29 25 07/23/2024
3.1.28 23 07/23/2024
3.1.27 25 07/23/2024
3.1.26 24 07/23/2024
3.1.25 35 07/19/2024
3.1.24 27 07/23/2024
3.1.23 30 07/23/2024
3.1.22 26 07/23/2024
3.1.21 30 07/23/2024
3.1.20 32 07/23/2024
3.1.19 32 07/23/2024
3.1.18 24 07/23/2024
3.1.17 21 07/22/2024
3.1.16 27 07/23/2024
3.1.15 27 07/23/2024
3.1.14 33 07/23/2024
3.1.13 20 07/23/2024
3.1.12 35 07/17/2024
3.1.11 27 07/23/2024
3.1.10 26 07/23/2024
3.1.9 30 07/23/2024
3.1.8 24 07/22/2024
3.1.7 25 07/23/2024
3.1.6 31 07/23/2024
3.1.5 31 07/23/2024
3.1.4 30 07/23/2024
3.1.3 26 07/23/2024
3.1.2 22 07/23/2024
3.1.1 23 07/18/2024
3.1.0 30 07/23/2024
3.1.0-preview3.19553.2 18 07/23/2024
3.1.0-preview2.19525.4 21 07/23/2024
3.1.0-preview1.19506.1 29 07/23/2024
3.0.3 23 07/23/2024
3.0.2 16 07/23/2024
3.0.1 25 07/23/2024
3.0.0 28 07/23/2024
3.0.0-rc1.19456.10 25 07/23/2024
3.0.0-preview9.19423.4 30 07/20/2024
3.0.0-preview8.19405.4 21 07/23/2024
3.0.0-preview7.19362.4 24 07/23/2024
3.0.0-preview6.19304.6 38 07/23/2024
3.0.0-preview5.19227.9 20 07/23/2024
3.0.0-preview4.19216.2 24 07/23/2024
3.0.0-preview3.19153.1 26 07/19/2024
3.0.0-preview.19074.2 18 07/23/2024
3.0.0-preview.18572.1 20 07/23/2024
2.2.4 19 07/23/2024
2.2.0 22 07/23/2024
2.2.0-preview3-35497 16 07/23/2024
2.2.0-preview2-35157 25 07/23/2024
2.2.0-preview1-35029 31 07/23/2024
2.1.10 26 07/23/2024
2.1.1 26 07/23/2024
2.1.0 24 07/23/2024
2.1.0-rc1-final 21 07/23/2024
2.1.0-preview2-final 25 07/20/2024
2.1.0-preview1-final 24 07/23/2024
2.0.2 19 07/23/2024
2.0.1 27 07/23/2024
2.0.0 95 02/04/2024
2.0.0-preview2-final 21 07/23/2024
2.0.0-preview1-final 23 07/23/2024
1.1.2 23 07/23/2024
1.1.1 30 07/22/2024
1.1.0 21 07/23/2024
1.1.0-preview1-final 25 07/14/2024
1.0.2 23 07/23/2024
1.0.1 19 07/23/2024
1.0.0 25 07/22/2024
1.0.0-rc2-final 25 07/22/2024
1.0.0-rc1-final 21 07/23/2024