.NET Core通过安装Microsoft.Extensions.Configuration.Xml包支持XML配置文件。1. 安装NuGet包Microsoft.Extensions.Configuration.Xml;2. 创建appsettings.xml并设置“始终复制到输出目录”;3. 在Program.cs中使用AddXmlFile加载XML文件;4. 通过GetConnectionString读取连接字符串;5. 可选绑定到强类型对象AppOptions。配置项可通过冒号语法访问,如AppSettings:PageSize,实现与JSON类似的配置读取方式。

.NET Core 默认支持 JSON 格式的配置文件(如 appsettings.json),但如果你需要使用 appsettings.xml 或其他 XML 配置文件,.NET Core 也提供了扩展机制来读取 XML 格式。下面介绍如何在 .NET Core 中读取 XML 配置文件。
1. 添加 XML 配置支持包
.NET Core 默认不包含 XML 配置的读取器,你需要安装以下 NuGet 包:
Microsoft.Extensions.Configuration.Xml在项目目录下运行命令:
dotnet add package Microsoft.Extensions.Configuration.Xml
或者通过 Visual Studio 的 NuGet 包管理器搜索并安装该包。
2. 创建 appsettings.xml 配置文件
在项目根目录创建一个 XML 文件,例如命名为 appsettings.xml,内容如下:
Debug 20
注意:XML 结构要符合 .NET 配置系统能识别的格式,通常外层是
设置该文件的属性为“始终复制到输出目录”:
- 右键 appsettings.xml → 属性 → “复制到输出目录”选择“始终复制”
3. 在 Program.cs 中加载 XML 配置
在 .NET Core 6+ 的默认模板中,Program.cs 是入口。你需要手动添加对 XML 文件的配置加载:
using Microsoft.Extensions.Configuration;
var builder = WebApplication.CreateBuilder(args);
// 添加 XML 配置源
builder.Configuration.AddXmlFile("appsettings.xml", optional: true, reloadOnChange: true);
var app = builder.Build();
// 示例:获取配置值
var pageSize = builder.Configuration["AppSettings:PageSize"];
Console.WriteLine($"页面大小:{pageSize}");
app.Run();
说明:
- AddXmlFile 方法用于加载 XML 文件
- optional: true 表示文件可选,不存在也不会报错
- reloadOnChange: true 表示当文件修改时自动重新加载
- 使用冒号 : 访问嵌套节点,如 AppSettings:PageSize
4. 读取 ConnectionStrings
对于连接字符串,可以这样读取:
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
// 等同于 builder.Configuration["ConnectionStrings:DefaultConnection"]
5. 绑定到强类型对象(可选)
你可以定义一个类来接收配置:
public class AppOptions
{
public string LogLevel { get; set; }
public int PageSize { get; set; }
}
然后绑定配置:
var appOptions = new AppOptions();
builder.Configuration.GetSection("AppSettings").Bind(appOptions);
// 或使用 ConfigurationBinder
// builder.Configuration.GetSection("AppSettings").Get();
基本上就这些。只要引入 Xml 配置扩展包,并正确加载文件,.NET Core 就能像处理 JSON 一样读取 XML 配置。虽然官方推荐使用 JSON,但在兼容旧项目或特定需求时,XML 依然可用。










