Microsoft.Extensions.Configuration.Binder 8.0.2

ID 前缀已预留
此包有更新的预发布版本可用。
请在下面的版本列表中查看详细信息。
dotnet add package Microsoft.Extensions.Configuration.Binder --version 8.0.2                
NuGet\Install-Package Microsoft.Extensions.Configuration.Binder -Version 8.0.2                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用此包。
paket add Microsoft.Extensions.Configuration.Binder --version 8.0.2                
#r "nuget: Microsoft.Extensions.Configuration.Binder, 8.0.2"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此内容复制到交互式工具或脚本的源代码中以引用包。
// Install Microsoft.Extensions.Configuration.Binder as a Cake Addin
#addin nuget:?package=Microsoft.Extensions.Configuration.Binder&version=8.0.2

// Install Microsoft.Extensions.Configuration.Binder as a Cake Tool
#tool nuget:?package=Microsoft.Extensions.Configuration.Binder&version=8.0.2                

关于

Microsoft.Extensions.Configuration提供了将对象绑定到配置提供者中的数据的功能。此包允许您将配置数据表示为在应用程序代码中定义的强类型类。要绑定配置,请在IConfiguration对象上使用Microsoft.Extensions.Configuration.ConfigurationBinder.Get扩展方法。为了使用此包,您还需要安装一个配置提供者的包,例如,用于JSON提供者的Microsoft.Extensions.Configuration.Json

该程序集中的类型在运行时使用反射,不利于链接或AOT。为了更好地支持链接和AOT以及提供更有效的强类型绑定方法,此包还提供了一个源生成器。当项目设置PublishAot时,此生成器默认启用,也可以使用<EnableConfigurationBindingGenerator>true</EnableConfigurationBindingGenerator>来启用。

主要特性

  • 从配置部分配置现有的类型实例(绑定)
  • 从配置部分构造新的配置类型实例(获取 & 获取值)
  • 生成用于从配置部分绑定对象而不依赖运行时反射的源。

使用方法

以下示例展示了如何将JSON配置部分绑定到.NET对象。

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}");
        }
    }
}

要运行此示例,请确保您的项目包含具有以下内容的appsettings.json文件

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

您可以使用如下代码在.csproj文件中包含配置文件

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

您可以将以下属性添加以启用源生成器。此要求.NET 8.0 SDK或更高版本。

<PropertyGroup>
  <EnableConfigurationBindingGenerator>true</EnableConfigurationBindingGenerator>
</PropertyGroup>

主要类型

此库提供的主要类型包括

  • Microsoft.Extensions.Configuration.ConfigurationBinder
  • Microsoft.Extensions.Configuration.BinderOptions

其他文档

反馈 & 贡献

Microsoft.Extensions.Configuration.Binder在MIT许可下作为开源发布。欢迎提交bug报告和贡献至GitHub仓库

产品 兼容的和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 兼容。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 兼容。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.0 兼容。 netstandard2.1 已计算。
.NET Framework net461 已计算。 net462 兼容。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解有关 目标框架.NET 标准的更多信息

NuGet 包 (3.8K)

显示顶部 5 个依赖于 Microsoft.Extensions.Configuration.Binder 的 NuGet 包

下载
Microsoft.Extensions.Options.ConfigurationExtensions

提供与 Options 相关的额外配置特定功能。

Microsoft.Extensions.Logging.Configuration

为 Microsoft.Extensions.Logging 提供配置支持。

Microsoft.Extensions.Hosting

应用程序的宿主和启动基础设施。

Serilog.Settings.Configuration

为 Serilog 提供对 Microsoft.Extensions.Configuration (appsettings.json) 的支持。

Microsoft.AspNetCore.Server.Kestrel.Core

ASP.NET Core Kestrel 跨平台网络服务器的核心组件。

GitHub 仓库 (361)

展示依赖 Microsoft.Extensions.Configuration.Binder 的 GitHub 上最受欢迎的前 5 个仓库

仓库 星标
jellyfin/jellyfin
免费软件媒体系统
microsoft/semantic-kernel
快速轻松地将最前沿的 LLM 技术集成到您的应用程序中
abpframework/abp
开源 Web 应用程序框架,为 ASP.NET Core 提供支持!提供一个有偏见的架构来构建基于 .NET 的企业软件解决方案。提供基本的基础设施、跨切面实现、启动模板、应用程序模块、用户界面主题、工具和文档。
microsoft/garnet
Garnet 是微软研究院的一个远程缓存存储,提供强大的性能(吞吐量和延迟)、可扩展性、存储、恢复、集群分片、键迁移和复制功能。Garnet 可以与现有的 Redis 客户端配合使用。
JeffreySu/WeiXinMPSDK
微信全平台 .NET SDK,Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。微信 SDK for C#。
版本 下载 最后更新
9.0.0-preview.7.24405.7 1,866 8/13/2024
9.0.0-preview.6.24327.7 51,457 7/9/2024
9.0.0-preview.5.24306.7 48,448 6/11/2024
9.0.0-preview.4.24266.19 43,948 5/21/2024
9.0.0-preview.3.24172.9 109,553 4/11/2024
9.0.0-preview.2.24128.5 62,278 3/12/2024
9.0.0-preview.1.24080.9 74,143 2/13/2024
8.0.2 1,988,172 7/9/2024
8.0.1 27,600,714 1/9/2024
8.0.0 81,417,216 11/14/2023
8.0.0-rc.2.23479.6 883,705 10/10/2023
8.0.0-rc.1.23419.4 347,269 9/12/2023
8.0.0-preview.7.23375.6 307,142 8/8/2023
8.0.0-preview.6.23329.7 137,475 7/11/2023
8.0.0-preview.5.23280.8 94,023 6/13/2023
8.0.0-preview.4.23259.5 222,804 5/16/2023
8.0.0-preview.3.23174.8 150,642 4/11/2023
8.0.0-preview.2.23128.3 81,432 3/14/2023
8.0.0-preview.1.23110.8 123,897 2/21/2023
7.0.4 35,471,864 3/14/2023
7.0.3 43,221,366 2/14/2023
7.0.2 5,755,301 1/10/2023
7.0.1 3,385,752 12/13/2022
7.0.0 93,638,000 11/7/2022
7.0.0-rc.2.22472.3 247,059 10/11/2022
7.0.0-rc.1.22426.10 167,258 9/14/2022
7.0.0-preview.7.22375.6 204,021 8/9/2022
7.0.0-preview.6.22324.4 91,237 7/12/2022
7.0.0-preview.5.22301.12 59,947 6/14/2022
7.0.0-preview.4.22229.4 74,705 5/10/2022
7.0.0-preview.3.22175.4 71,333 4/13/2022
7.0.0-preview.2.22152.2 37,068 3/14/2022
7.0.0-preview.1.22076.8 52,238 2/17/2022
6.0.0 298,865,046 11/8/2021
6.0.0-rc.2.21480.5 572,854 10/12/2021
6.0.0-rc.1.21451.13 340,493 9/14/2021
6.0.0-preview.7.21377.19 240,928 8/10/2021
6.0.0-preview.6.21352.12 112,197 7/14/2021
6.0.0-preview.5.21301.5 65,760 6/15/2021
6.0.0-preview.4.21253.7 59,425 5/24/2021
6.0.0-preview.3.21201.4 188,269 4/8/2021
6.0.0-preview.2.21154.6 101,029 3/11/2021 6.0.0-preview.2.21154.6 已弃用,因为它不再维护。
6.0.0-preview.1.21102.12 112,850 2/12/2021 6.0.0-preview.1.21102.12 已弃用,因为它不再维护。
5.0.0 193,715,454 11/9/2020 5.0.0 已经弃用,因为它不再维护。
5.0.0-rc.2.20475.5 257,128 10/13/2020 5.0.0-rc.2.20475.5 已经弃用,因为它不再维护。
5.0.0-rc.1.20451.14 330,680 9/14/2020 5.0.0-rc.1.20451.14 已经弃用,因为它不再维护。
5.0.0-preview.8.20407.11 301,558 8/25/2020 5.0.0-preview.8.20407.11 已经弃用,因为它不再维护。
5.0.0-preview.7.20364.11 69,169 7/21/2020 5.0.0-preview.7.20364.11 已经弃用,因为它不再维护。
5.0.0-preview.6.20305.6 53,305 6/25/2020 5.0.0-preview.6.20305.6 已经弃用,因为它不再维护。
5.0.0-preview.5.20278.1 27,211 6/10/2020 5.0.0-preview.5.20278.1 已经弃用,因为它不再维护。
5.0.0-preview.4.20251.6 54,244 5/18/2020 5.0.0-preview.4.20251.6 已经弃用,因为它不再维护。
5.0.0-preview.3.20215.2 227,699 4/23/2020 5.0.0-preview.3.20215.2 已经弃用,因为它不再维护。
5.0.0-preview.2.20160.3 223,583 4/2/2020 5.0.0-preview.2.20160.3 已经弃用,因为它不再维护。
5.0.0-preview.1.20120.4 87,549 3/16/2020 5.0.0-preview.1.20120.4 已经弃用,因为它不再维护。
3.1.32 8,900,723 12/13/2022
3.1.31 1,882,986 11/8/2022
3.1.30 2,113,894 10/11/2022
3.1.29 1,824,790 9/13/2022
3.1.28 2,366,619 8/9/2022
3.1.27 1,768,666 7/12/2022
3.1.26 1,629,676 6/14/2022
3.1.25 2,646,065 5/10/2022
3.1.24 1,845,246 4/11/2022
3.1.23 3,052,864 3/8/2022
3.1.22 14,708,813 12/14/2021
3.1.21 7,595,517 11/7/2021
3.1.20 3,914,599 10/11/2021
3.1.19 4,764,908 9/14/2021
3.1.18 37,402,860 8/10/2021
3.1.17 6,104,492 7/13/2021
3.1.16 9,638,371 6/8/2021
3.1.15 7,884,576 5/11/2021
3.1.14 15,320,749 4/6/2021
3.1.13 12,941,398 3/9/2021
3.1.12 10,303,471 2/9/2021
3.1.11 12,564,157 1/12/2021
3.1.10 22,555,106 11/9/2020
3.1.9 63,437,580 10/13/2020
3.1.8 61,538,838 9/8/2020
3.1.7 31,650,797 8/11/2020
3.1.6 36,409,084 7/14/2020
3.1.5 37,817,913 6/9/2020
3.1.4 40,168,237 5/12/2020
3.1.3 83,219,432 3/24/2020
3.1.2 70,477,672 2/18/2020
3.1.1 40,093,739 1/14/2020
3.1.0 152,317,113 12/3/2019
3.1.0-preview3.19553.2 215,189 11/13/2019 3.1.0-preview3.19553.2 已经弃用,因为它不再维护。
3.1.0-preview2.19525.4 72,190 11/1/2019 3.1.0-preview2.19525.4 已经弃用,因为它不再维护。
3.1.0-preview1.19506.1 1,132,431 10/15/2019 3.1.0-preview1.19506.1 已弃用,因为它不再维护。
3.0.3 60,857,904 2/18/2020 3.0.3 已弃用,因为它不再维护。
3.0.2 1,050,400 1/14/2020 3.0.2 已弃用,因为它不再维护。
3.0.1 5,901,968 11/18/2019 3.0.1 已弃用,因为它不再维护。
3.0.0 84,754,267 9/23/2019 3.0.0 已弃用,因为它不再维护。
3.0.0-rc1.19456.10 89,232 9/16/2019 3.0.0-rc1.19456.10 已弃用,因为它不再维护。
3.0.0-preview9.19423.4 1,434,374 9/4/2019 3.0.0-preview9.19423.4 已弃用,因为它不再维护。
3.0.0-preview8.19405.4 536,271 8/13/2019 3.0.0-preview8.19405.4 已弃用,因为它不再维护。
3.0.0-preview7.19362.4 213,370 7/23/2019 3.0.0-preview7.19362.4 已弃用,因为它不再维护。
3.0.0-preview6.19304.6 328,877 6/12/2019 3.0.0-preview6.19304.6 已弃用,因为它不再维护。
3.0.0-preview5.19227.9 777,716 5/6/2019 3.0.0-preview5.19227.9 已弃用,因为它不再维护。
3.0.0-preview4.19216.2 68,596 4/18/2019 3.0.0-preview4.19216.2 已弃用,因为它不再维护。
3.0.0-preview3.19153.1 328,775 3/6/2019 3.0.0-preview3.19153.1 已弃用,因为它不再维护。
3.0.0-preview.19074.2 172,424 1/29/2019 3.0.0-preview.19074.2 已弃用,因为它不再受维护。
3.0.0-preview.18572.1 146,122 12/3/2018 3.0.0-preview.18572.1 已弃用,因为它不再受维护。
2.2.4 28,302,263 4/9/2019 2.2.4 已弃用,因为它不再受维护。
2.2.0 226,340,840 12/3/2018 2.2.0 已弃用,因为它不再受维护。
2.2.0-preview3-35497 394,083 10/17/2018 2.2.0-preview3-35497 已弃用,因为它不再受维护。
2.2.0-preview2-35157 270,063 9/12/2018 2.2.0-preview2-35157 已弃用,因为它不再受维护。
2.2.0-preview1-35029 149,876 8/22/2018 2.2.0-preview1-35029 已弃用,因为它不再受维护。
2.1.10 61,320,374 4/9/2019
2.1.1 301,489,527 6/18/2018
2.1.0 329,678,775 5/29/2018
2.1.0-rc1-final 533,397 5/6/2018 2.1.0-rc1-final 已弃用,因为它不再受维护。
2.1.0-preview2-final 606,051 4/10/2018 2.1.0-preview2-final 已弃用,因为它不再受维护。
2.1.0-preview1-final 615,430 2/26/2018 2.1.0-preview1-final 已弃用,因为它不再受维护。
2.0.2 7,553,260 5/7/2018 2.0.2 已弃用,因为它不再受维护。
2.0.1 12,420,929 3/13/2018 2.0.1 已弃用,因为它不再受维护。
2.0.0 346,467,372 8/11/2017 2.0.0 已弃用,因为它不再受维护。
2.0.0-preview2-final 145,355 6/28/2017 2.0.0-preview2-final 已弃用,因为它不再受维护。
2.0.0-preview1-final 55,088 5/10/2017 2.0.0-preview1-final 已弃用,因为它不再被维护。
1.1.2 14,667,304 5/9/2017 1.1.2 已弃用,因为它不再被维护。
1.1.1 4,192,178 3/6/2017 1.1.1 已弃用,因为它不再被维护。
1.1.0 2,836,802 11/16/2016 1.1.0 已弃用,因为它不再被维护。
1.1.0-preview1-final 16,895 10/24/2016 1.1.0-preview1-final 已弃用,因为它不再被维护。
1.0.2 2,615,740 3/6/2017 1.0.2 已弃用,因为它不再被维护。
1.0.1 368,785 12/12/2016 1.0.1 已弃用,因为它不再被维护。
1.0.0 3,364,014 6/27/2016 1.0.0 已弃用,因为它不再被维护。
1.0.0-rc2-final 40,584 5/16/2016 1.0.0-rc2-final 已弃用,因为它不再被维护。
1.0.0-rc1-finals 816,966 11/18/2015 1.0.0-rc1-final 已弃用,因为它不再被维护。