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

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

Sources

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

方法

名称 说明
Add(IConfigurationSource)

添加新的配置源。

Build()

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

扩展方法

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

添加新的配置源。

AddApplicationMetadata(IConfigurationBuilder, IHostEnvironment, String)

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

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)

添加一个 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)

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

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

适用于

另请参阅