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 共享数据。

Sources

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

方法

Add(IConfigurationSource)

添加一个新的配置源。

Build()

使用在 Sources 中注册的提供程序集中的键和值生成 IConfiguration

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

扩展方法

AddApplicationMetadata(IConfigurationBuilder, IHostEnvironment, String)

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

AddAzureKeyVault(IConfigurationBuilder, AzureKeyVaultConfigurationOptions)

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

AddAzureKeyVault(IConfigurationBuilder, String)

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

AddAzureKeyVault(IConfigurationBuilder, String, KeyVaultClient, IKeyVaultSecretManager)

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

AddAzureKeyVault(IConfigurationBuilder, String, IKeyVaultSecretManager)

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

AddAzureKeyVault(IConfigurationBuilder, String, String, X509Certificate2)

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

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

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

AddAzureKeyVault(IConfigurationBuilder, String, String, String)

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

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

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

AddConfiguration(IConfigurationBuilder, IConfiguration)

将现有配置添加到 configurationBuilder

AddConfiguration(IConfigurationBuilder, IConfiguration, Boolean)

将现有配置添加到 configurationBuilder

AddCommandLine(IConfigurationBuilder, Action<CommandLineConfigurationSource>)

添加从命令行读取配置值的 IConfigurationProvider

AddCommandLine(IConfigurationBuilder, String[])

添加从命令行读取配置值的 CommandLineConfigurationProvider

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

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

Add<TSource>(IConfigurationBuilder, Action<TSource>)

添加一个新的配置源。

AddUserSecrets(IConfigurationBuilder)

添加用户机密配置源。 从 UserSecretsIdAttribute 实例的 GetEntryAssembly() 搜索程序集。

AddUserSecrets(IConfigurationBuilder, Assembly)

添加用户机密配置源。

AddUserSecrets(IConfigurationBuilder, String)

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

AddUserSecrets<T>(IConfigurationBuilder)

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

AddEnvironmentVariables(IConfigurationBuilder)

添加从环境变量读取配置值的 IConfigurationProvider

AddEnvironmentVariables(IConfigurationBuilder, Action<EnvironmentVariablesConfigurationSource>)

添加从环境变量读取配置值的 IConfigurationProvider

AddEnvironmentVariables(IConfigurationBuilder, String)

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

GetFileLoadExceptionHandler(IConfigurationBuilder)

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

GetFileProvider(IConfigurationBuilder)

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

SetBasePath(IConfigurationBuilder, String)

将基于文件的提供程序的 FileProvider 设置为具有基路径的 PhysicalFileProvider。

SetFileLoadExceptionHandler(IConfigurationBuilder, Action<FileLoadExceptionContext>)

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

SetFileProvider(IConfigurationBuilder, IFileProvider)

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

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

将 INI 配置源添加到 builder

AddIniFile(IConfigurationBuilder, Action<IniConfigurationSource>)

将 INI 配置源添加到 builder

AddIniFile(IConfigurationBuilder, String)

path 中的 INI 配置提供程序添加到 builder

AddIniFile(IConfigurationBuilder, String, Boolean)

path 中的 INI 配置提供程序添加到 builder

AddIniFile(IConfigurationBuilder, String, Boolean, Boolean)

path 中的 INI 配置提供程序添加到 builder

AddIniStream(IConfigurationBuilder, Stream)

将 INI 配置源添加到 builder

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

将 JSON 配置源添加到 builder

AddJsonFile(IConfigurationBuilder, Action<JsonConfigurationSource>)

将 JSON 配置源添加到 builder

AddJsonFile(IConfigurationBuilder, String)

path 处的 JSON 配置提供程序添加到 builder

AddJsonFile(IConfigurationBuilder, String, Boolean)

path 处的 JSON 配置提供程序添加到 builder

AddJsonFile(IConfigurationBuilder, String, Boolean, Boolean)

path 处的 JSON 配置提供程序添加到 builder

AddJsonStream(IConfigurationBuilder, Stream)

将 JSON 配置源添加到 builder

AddKeyPerFile(IConfigurationBuilder, Action<KeyPerFileConfigurationSource>)

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

AddKeyPerFile(IConfigurationBuilder, String)

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

AddKeyPerFile(IConfigurationBuilder, String, Boolean)

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

AddKeyPerFile(IConfigurationBuilder, String, Boolean, Boolean)

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

AddInMemoryCollection(IConfigurationBuilder)

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

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

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

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

将 JSON 配置源添加到 builder

AddNewtonsoftJsonFile(IConfigurationBuilder, Action<NewtonsoftJsonConfigurationSource>)

将 JSON 配置源添加到 builder

AddNewtonsoftJsonFile(IConfigurationBuilder, String)

path 处的 JSON 配置提供程序添加到 builder

AddNewtonsoftJsonFile(IConfigurationBuilder, String, Boolean)

path 处的 JSON 配置提供程序添加到 builder

AddNewtonsoftJsonFile(IConfigurationBuilder, String, Boolean, Boolean)

path 处的 JSON 配置提供程序添加到 builder

AddNewtonsoftJsonStream(IConfigurationBuilder, Stream)

将 Newtonsoft JSON 配置源添加到 builder

AddUserSecrets(IConfigurationBuilder, Assembly)

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

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

AddUserSecrets(IConfigurationBuilder, Assembly, Boolean)

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

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

AddUserSecrets(IConfigurationBuilder, Assembly, Boolean, Boolean)

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

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

AddUserSecrets(IConfigurationBuilder, String)

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

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

AddUserSecrets(IConfigurationBuilder, String, Boolean)

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

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

AddUserSecrets<T>(IConfigurationBuilder)

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

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

AddUserSecrets<T>(IConfigurationBuilder, Boolean)

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

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

AddUserSecrets<T>(IConfigurationBuilder, Boolean, Boolean)

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

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

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

将 XML 配置源添加到 builder

AddXmlFile(IConfigurationBuilder, Action<XmlConfigurationSource>)

将 XML 配置源添加到 builder

AddXmlFile(IConfigurationBuilder, String)

path 中的 XML 配置提供程序添加到 builder

AddXmlFile(IConfigurationBuilder, String, Boolean)

path 中的 XML 配置提供程序添加到 builder

AddXmlFile(IConfigurationBuilder, String, Boolean, Boolean)

path 中的 XML 配置提供程序添加到 builder

AddXmlStream(IConfigurationBuilder, Stream)

将 XML 配置源添加到 builder

适用于

另请参阅