Microsoft.Configuration.ConfigurationBuilders.Base 3.0.0

前缀已保留
dotnet add package Microsoft.Configuration.ConfigurationBuilders.Base --version 3.0.0                
NuGet\Install-Package Microsoft.Configuration.ConfigurationBuilders.Base -Version 3.0.0                
本命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Configuration.ConfigurationBuilders.Base" Version="3.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中,以引用该包。
paket add Microsoft.Configuration.ConfigurationBuilders.Base --version 3.0.0                
#r "nuget: Microsoft.Configuration.ConfigurationBuilders.Base, 3.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用该包。
// Install Microsoft.Configuration.ConfigurationBuilders.Base as a Cake Addin
#addin nuget:?package=Microsoft.Configuration.ConfigurationBuilders.Base&version=3.0.0

// Install Microsoft.Configuration.ConfigurationBuilders.Base as a Cake Tool
#tool nuget:?package=Microsoft.Configuration.ConfigurationBuilders.Base&version=3.0.0                

Microsoft 键值配置构建器

ConfigurationBuilder 是在 .NET 4.7.1 中引入的完整 .Net 框架的功能。您可以在 这篇博客文章 中了解该概念。虽然从 4.7.1 的 ConfigurationBuilder 功能开始,.Net 现在在运行时注入配置的能力已经存在,但框架本身并不附带任何预制的构建器。

此项目旨在让 Microsoft 提供一组基础的配置构建器,从而使开发者能够轻松地在他们的应用中利用该功能。它们旨在满足应用程序在迁移到容器和云环境时的一些基本动态/非局部配置需求。

在此产生的一组构建器被设计为“键/值配置构建器”。在框架中,ConfigurationBuilder 的架构实际上非常灵活,可以用来处理许多不同的情况。然而,为了保持事情尽可能简单和通用,本项目专注于简单的键值场景。

有关本项目中的构建器的更多信息,错误报告或贡献提交,请参阅 MicrosoftConfigurationBuilders 的 github 项目页面。

V3 更新

  • ⚠️ 破坏性变更 - Expand 模式已移除。它已被 Token 模式 取代。
  • Utils.MapPath - 在之前的 ASP.Net 场景中有些许缺陷。现在它应能在 ASP.Net 场景中可靠地与 Server.MapPath() 一起使用。此外,当通过 ConfigurationManager.OpenConfiguration* API 创建 Configuration 对象,而不是作为完全初始化的运行时配置堆栈的一部分时,如果需要解析应用程序的根目录,它也将回退到正在处理的配置文件的目录。
  • Json 的使用已迁移到使用 System.Text.Json 而不是 Newtonsoft.Json
  • 已更新 Azure Config Builders,默认情况下需要更新的 Azure.Identity 的最小版本,这使得连接到 Azure 的方法更多,如通过 用户分配的托管标识,或者通过基于 客户端证书 的方式。此外,还添加了一对重载(GetCredentialGetSecretClientOptions/GetConfigurationClientOptions),供需要比使用默认客户端选项的 DefaultAzureCredential 提供的更多功能的中国人使用。
  • 添加了 RecursionGuard 来帮助检测和防止 ConfigurationBuilder 访问当前正在处理的 ConfigurationSection 之外的值时可能导致的堆栈溢出。
  • 已弃用 optional 属性 ⇒ 提供更多灵活性的 enabled 属性。 (optional 属性在缺少新的 enabled 属性的情况下仍然被解析和识别,但构建器应尽可能迁移到使用新的属性名。安装脚本是自动处理这项的。
  • 字符映射 - 一些配置构建器在内部对键中可能存在的但源键中非法的字符进行了映射。随着更多情况的呈现和个别偏好的不总是统一的,V3 转而添加了 charMap 属性,以允许此字符映射在所有 KeyValueConfigBuilders 上工作,并以便于配置的方式处理。
  • ConnectionStringsSectionHandler2 - 在基础包中包含了一个新的 <connectionStrings> 部分处理程序。此新处理程序允许更新 'connectionString' 和 'providerName' 属性。但这需要构建器和配置数据源意识到这种新功能。默认的 <connectionStrings> 部分处理程序尚未更新,并保持与之前的版本相同,因此希望利用新处理程序的应用程序必须在它们的配置中将其连接起来。更多细节可以在 SectionHandlers 文档 中找到。
  • AzureAppConfiguration NuGet 包版本已更新,以匹配此套构建器的其余部分,而不是比它们落后一个大版本。(即 AzureAppConfiguration:3.0 现在依赖于 Base:3.0 而不是 AzureAppConfiguration:1.0 依赖于 Base:2.0

V2 更新

  • 支持Azure应用配置 - 为从新的Azure应用配置服务中获取值,新增了一个构建器
  • 从appSettings获取ConfigBuilder参数 - 这一直是这些配置构建器最受请求的功能之一。在V2中,现在可以从appSettings读取配置构建器的初始化参数。更多介绍请点击此处
  • 延迟初始化 - 作为从appSettings拉取配置参数的工作的一部分,这些键值配置构建器现在支持延迟初始化模式。必须立即发生的事情可以保留在现有的Initialize(name, config)方法中,或者构建器可以利用新的LazyInitialize(name, config)方法进行在检索值之前可以发生的事情。本项目中所有构建器都已被更新为尽可能进行延迟。
  • 可更新键 - 构建器现在可以在将键名插入配置前对其进行处理。已更新的AzureKeyVaultConfigBuilder已经使用此功能允许在键名中嵌入'版本'标签,而不是将单个'版本'标签应用到构建器上。(注意:这是与清除前缀分开的,并且在清除前缀之后执行。)
  • [[已弃用]] 这已被enabled标签所取代。基本可选标签 - 此项目的一些构建器在V1中使用的optional标签已移动到基类,并现在可在所有键值配置构建器上使用。
  • 转义扩展值 - 在ExpandToken(自V3起)模式中,现在可以使用新的escapeExpandedValues属性来转义插入的值。
  • 部分处理器 - 此功能允许用户开发扩展,以便将键值配置应用于除了appSettingsconnectionStrings之外的其他部分(如果需要)。更多关于此功能的信息请参阅下面的部分处理器部分。
产品 兼容和额外的计算目标框架版本。
.NET Framework net471 兼容。 net472 已计算。 net48 已计算。 net481 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于目标框架.NET Standard的信息。

该包没有任何依赖项。

NuGet包 (17)

显示依赖Microsoft.Configuration.ConfigurationBuilders.Base的前5个NuGet包

下载
Microsoft.Configuration.ConfigurationBuilders.Environment

针对.NET Framework的一个基本的键值配置构建器,它从环境变量中获取数据。

Microsoft\Configuration\Интер Builders\UserSecrets

一种基本的键/值配置生成器,用于.Net Framework,可以从源控制之外的秘密文件中获取。

Microsoft.Configuration.ConfigurationBuilders.Azure

一组用于.Net Framework的配置生成器,可以从中提取Azure资源。

Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration

一组用于.Net Framework的配置生成器,可以从中提取Azure AppConfiguration存储。

Microsoft.Configuration.ConfigurationBuilders.Json

一种针对.Net Framework的基本键/值配置生成器,可以从json文件获取。

GitHub 仓库 (1)

显示最热门的1个依赖Microsoft.Configuration.ConfigurationBuilders.Base的GitHub仓库

仓库 星级
nacos-group/nacos-sdk-csharp
此nacos csharp SDK
版本 下载 最后更新日期
3.0.0 748,178 4/12/2023
3.0.0-preview2 8,833 1/18/2023
3.0.0-preview1 25,142 4/1/2022
2.0.0 5,911,155 2/22/2020
2.0.0-rc 12,747 1/10/2020
2.0.0-beta 79,986 2/26/2019
1.0.2 3,724,725 7/9/2018
1.0.1 741,122 5/25/2018
1.0.0-preview3 5,841 5/4/2018
1.0.0-preview2 8,240 3/10/2018
1.0.0-preview 12,006 11/17/2017