语言

ConfigurationBuilder 类

定义

生成用于应用程序中的基于键/值的配置设置。

public ref class ConfigurationBuilder : Microsoft::Extensions::Configuration::IConfigurationBuilder
public class ConfigurationBuilder : Microsoft.Extensions.Configuration.IConfigurationBuilder
type ConfigurationBuilder = class
    interface IConfigurationBuilder
Public Class ConfigurationBuilder
Implements IConfigurationBuilder
继承
ConfigurationBuilder
实现

注解

通过使用此类,可以将配置值存储在 JSON 文件中,例如,然后在运行时检索它们。 有关详细信息,请参阅 配置 - 基本示例。

如果要将应用迁移到 .NET Core 3.1 或更高版本,则可以使用此类替换以前可能用于配置应用的 app.config 文件功能。

示例

以下代码片段演示了一个简化的应用,该应用创建一个 ConfigurationBuilder 对象,用于在运行时从 JSON 文件中检索字符串值。

using Microsoft.Extensions.Configuration;

IConfigurationBuilder builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", false, true);
IConfigurationRoot root = builder.Build();

Console.WriteLine($"Hello, { root["weather"] } world!");

/* This program outputs the following text:
 * 
 * Hello, stormy world!
 */

JSON 文件的内容如下所示。

{
  "weather": "stormy"
}

构造函数

名称 说明
ConfigurationBuilder()

初始化 ConfigurationBuilder 类的新实例。

属性

名称 说明
Properties

获取可用于在注册IConfigurationBuilder提供程序之间IConfigurationProvider共享数据的键/值集合。

Sources

获取用于获取配置值的源。

方法

名称 说明
Add(IConfigurationSource)

添加新的配置源。

Build()

从注册IConfiguration的提供程序集中生成一个Sources键和值。

扩展方法

名称 说明
Add<TSource>(IConfigurationBuilder, Action<TSource>)

添加新的配置源。

AddApplicationMetadata(IConfigurationBuilder, IHostEnvironment, String)

注册应用程序元数据的配置提供程序。

AddAzureKeyVault(IConfigurationBuilder, AzureKeyVaultConfigurationOptions)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, IKeyVaultSecretManager)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, KeyVaultClient, IKeyVaultSecretManager)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, String, String, IKeyVaultSecretManager)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, String, String)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, String, X509Certificate2, IKeyVaultSecretManager)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String, String, X509Certificate2)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddAzureKeyVault(IConfigurationBuilder, String)

添加从 Azure KeyVault 读取配置值的值IConfigurationProvider。

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

添加一个 IConfigurationProvider 从命令行读取配置值。

AddCommandLine(IConfigurationBuilder, String[], IDictionary<String,String>)

添加使用 CommandLineConfigurationProviderIConfigurationProvider 指定的交换机映射从命令行读取配置值。

AddCommandLine(IConfigurationBuilder, String[])

添加一个 CommandLineConfigurationProviderIConfigurationProvider 从命令行读取配置值。

AddConfiguration(IConfigurationBuilder, IConfiguration, Boolean)

将现有配置添加到 configurationBuilder.

AddConfiguration(IConfigurationBuilder, IConfiguration)

将现有配置添加到 configurationBuilder.

AddEnvironmentVariables(IConfigurationBuilder, Action<EnvironmentVariablesConfigurationSource>)

添加一个 IConfigurationProvider 从环境变量中读取配置值。

AddEnvironmentVariables(IConfigurationBuilder, String, Func<String,String>)

添加一个 IConfigurationProvider 从具有指定前缀和变量名称转换的环境变量读取配置值。

AddEnvironmentVariables(IConfigurationBuilder, String)

添加一个 IConfigurationProvider 从具有指定前缀的环境变量读取配置值。

AddEnvironmentVariables(IConfigurationBuilder)

添加一个 IConfigurationProvider 从环境变量中读取配置值。

AddIniFile(IConfigurationBuilder, Action<IniConfigurationSource>)

将 INI 配置源添加到 builder.

AddIniFile(IConfigurationBuilder, IFileProvider, String, Boolean, Boolean)

将 INI 配置源添加到 builder.

AddIniFile(IConfigurationBuilder, String, Boolean, Boolean)

将 INI 配置提供程序 path 添加到 builder.

AddIniFile(IConfigurationBuilder, String, Boolean)

将 INI 配置提供程序 path 添加到 builder.

AddIniFile(IConfigurationBuilder, String)

将 INI 配置提供程序 path 添加到 builder.

AddIniStream(IConfigurationBuilder, Stream)

将 INI 配置源添加到 builder.

AddInMemoryCollection(IConfigurationBuilder, IEnumerable<KeyValuePair<String,String>>)

将内存配置提供程序添加到 configurationBuilder。

AddInMemoryCollection(IConfigurationBuilder)

将内存配置提供程序添加到 configurationBuilder。

AddJsonFile(IConfigurationBuilder, Action<JsonConfigurationSource>)

将 JSON 配置源添加到 builder.

AddJsonFile(IConfigurationBuilder, IFileProvider, String, Boolean, Boolean)

将 JSON 配置源添加到 builder.

AddJsonFile(IConfigurationBuilder, String, Boolean, Boolean)

将 JSON 配置提供程序 path 添加到 builder.

AddJsonFile(IConfigurationBuilder, String, Boolean)

将 JSON 配置提供程序 path 添加到 builder.

AddJsonFile(IConfigurationBuilder, String)

将 JSON 配置提供程序 path 添加到 builder.

AddJsonStream(IConfigurationBuilder, Stream)

将 JSON 配置源添加到 builder.

AddKeyPerFile(IConfigurationBuilder, Action<KeyPerFileConfigurationSource>)

使用目录中的文件添加配置。 文件名用作键,文件内容用作值。

AddKeyPerFile(IConfigurationBuilder, String, Boolean, Boolean)

使用目录中的文件添加配置。 文件名用作键,文件内容用作值。

AddKeyPerFile(IConfigurationBuilder, String, Boolean)

使用目录中的文件添加配置。 文件名用作键,文件内容用作值。

AddKeyPerFile(IConfigurationBuilder, String)

使用目录中的文件添加配置。 文件名用作键,文件内容用作值。

AddNewtonsoftJsonFile(IConfigurationBuilder, Action<NewtonsoftJsonConfigurationSource>)

将 JSON 配置源添加到 builder.

AddNewtonsoftJsonFile(IConfigurationBuilder, IFileProvider, String, Boolean, Boolean)

将 JSON 配置源添加到 builder.

AddNewtonsoftJsonFile(IConfigurationBuilder, String, Boolean, Boolean)

将 JSON 配置提供程序 path 添加到 builder.

AddNewtonsoftJsonFile(IConfigurationBuilder, String, Boolean)

将 JSON 配置提供程序 path 添加到 builder.

AddNewtonsoftJsonFile(IConfigurationBuilder, String)

将 JSON 配置提供程序 path 添加到 builder.

AddNewtonsoftJsonStream(IConfigurationBuilder, Stream)

将 Newtonsoft JSON 配置源添加到 builder。

AddUserSecrets(IConfigurationBuilder, Assembly, Boolean, Boolean)

添加用户机密配置源。 这会搜索 assembly 指定用户机密 ID 的 UserSecretsIdAttribute实例。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets(IConfigurationBuilder, Assembly, Boolean)

添加用户机密配置源。 这会搜索 assembly 指定用户机密 ID 的 UserSecretsIdAttribute实例。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets(IConfigurationBuilder, Assembly)

添加用户机密配置源。 这会搜索 assembly 指定用户机密 ID 的 UserSecretsIdAttribute实例。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets(IConfigurationBuilder, String, Boolean)

添加具有指定用户机密 ID 的用户机密配置源。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets(IConfigurationBuilder, String)

添加具有指定用户机密 ID 的用户机密配置源。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets<T>(IConfigurationBuilder, Boolean, Boolean)

添加用户机密配置源。 在包含类型的 T 程序集中搜索指定用户机密 ID 的实例 UserSecretsIdAttribute。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets<T>(IConfigurationBuilder, Boolean)

添加用户机密配置源。 在包含类型的 T 程序集中搜索指定用户机密 ID 的实例 UserSecretsIdAttribute。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddUserSecrets<T>(IConfigurationBuilder)

添加用户机密配置源。 在包含类型的 T 程序集中搜索指定用户机密 ID 的实例 UserSecretsIdAttribute。

用户机密 ID 是用于存储和标识机密配置值的集合的唯一值。

AddXmlFile(IConfigurationBuilder, Action<XmlConfigurationSource>)

将 XML 配置源添加到 builder.

AddXmlFile(IConfigurationBuilder, IFileProvider, String, Boolean, Boolean)

将 XML 配置源添加到 builder.

AddXmlFile(IConfigurationBuilder, String, Boolean, Boolean)

将 XML 配置提供程序 path 添加到 builder.

AddXmlFile(IConfigurationBuilder, String, Boolean)

将 XML 配置提供程序 path 添加到 builder.

AddXmlFile(IConfigurationBuilder, String)

将 XML 配置提供程序 path 添加到 builder.

AddXmlStream(IConfigurationBuilder, Stream)

将 XML 配置源添加到 builder.

GetFileLoadExceptionHandler(IConfigurationBuilder)

获取在发生错误时要为基于文件的提供程序调用的默认操作。

GetFileProvider(IConfigurationBuilder)

获取用于基于文件的提供程序的默认值 IFileProvider 。

SetBasePath(IConfigurationBuilder, String)

使用基本路径将基于文件的提供程序的 FileProvider 设置为 PhysicalFileProvider。

SetFileLoadExceptionHandler(IConfigurationBuilder, Action<FileLoadExceptionContext>)

设置在发生错误时要为基于文件的提供程序调用的默认操作。

SetFileProvider(IConfigurationBuilder, IFileProvider)

设置要用于基于文件的提供程序的默认值 IFileProvider 。

适用于

另请参阅