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
<PackageReference Include="Microsoft.Configuration.ConfigurationBuilders.Base" Version="3.0.0" />
paket add Microsoft.Configuration.ConfigurationBuilders.Base --version 3.0.0
#r "nuget: Microsoft.Configuration.ConfigurationBuilders.Base, 3.0.0"
// 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 的方法更多,如通过 用户分配的托管标识,或者通过基于 客户端证书 的方式。此外,还添加了一对重载(GetCredential
和GetSecretClientOptions/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
标签已移动到基类,并现在可在所有键值配置构建器上使用。 - 转义扩展值 - 在
Expand
Token
(自V3起)模式中,现在可以使用新的escapeExpandedValues属性来转义插入的值。 - 部分处理器 - 此功能允许用户开发扩展,以便将键值配置应用于除了
appSettings
和connectionStrings
之外的其他部分(如果需要)。更多关于此功能的信息请参阅下面的部分处理器部分。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET Framework | net471 兼容。 net472 已计算。 net48 已计算。 net481 已计算。 |
该包没有任何依赖项。
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 |