信息发布→ 登录 注册 退出

.NET Core怎么读取appsettings.xml文件.NET Core读取XML配置文件教程

发布时间:2025-11-15

点击量:
.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怎么读取appsettings.xml文件.net core读取xml配置文件教程

.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,内容如下:

<configuration>
  <ConnectionStrings>
    <add name="DefaultConnection" connectionString="Server=localhost;Database=MyDb;Trusted_Connection=true;" />
  </ConnectionStrings>
  <AppSettings>
    <LogLevel>Debug</LogLevel>
    <PageSize>20</PageSize>
  </AppSettings>
</configuration>

注意:XML 结构要符合 .NET 配置系统能识别的格式,通常外层是 ,内部可以是键值对或 ConnectionStrings 节点。

设置该文件的属性为“始终复制到输出目录”:

Reachout.ai Reachout.ai

一个AI驱动的视频开发平台,专为忙碌的企业家和销售团队打造

Reachout.ai 142 查看详情 Reachout.ai
  • 右键 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<AppOptions>();

基本上就这些。只要引入 Xml 配置扩展包,并正确加载文件,.NET Core 就能像处理 JSON 一样读取 XML 配置。虽然官方推荐使用 JSON,但在兼容旧项目或特定需求时,XML 依然可用。

以上就是.NET Core怎么读取appsettings.xml文件.NET Core读取XML配置文件教程的详细内容,更多请关注其它相关文章!


相关文章: Eclipse怎么运行工程_Eclipse工程运行配置说明  Tabulator表格日期时间排序问题及自定义解决方案  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  Excel Power Pivot如何处理XML数据源 构建高级数据模型  微博网页版首页入口 微博电脑端官网登录链接  win11怎么清理更新缓存 Win11删除Windows Update下载文件释放空间【技巧】  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  J*aScript中向JSON对象添加新属性的正确姿势  《马克思佩恩3》早期版本曝光 UI设计曾多次调整!  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置  Go语言中高效处理x-www-form-urlencoded表单数据  qq邮箱日历功能怎么用_创建日程与会议邀请的技巧  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  Go调试环境为何无法启动_Go调试器启动失败原因与解决策略  妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画  如何在复杂的电商平台中优雅地管理共享资源并确保正确重定向,使用spryker-shop/resource-share-page模块助你一臂之力  漫蛙网页登录入口 漫蛙漫画官方授权网址  Go语言中动态执行代码字符串的策略与实践  PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】  126邮箱账号注册 电脑版登录入口  Python自定义类排序:解决lambda键值访问TypeError的实践指南  海棠电脑版入口_通过电脑访问海棠官网阅读  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  将HTML Canvas内容转换为可上传的图像文件(File对象)  Pygame教程:解决用户输入与游戏状态更新不同步问题  HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全  HTML元素状态管理:根据DIV内容动态启用/禁用按钮  Sublime怎么配置Nim语言环境_Sublime Nim代码高亮与补全  wps文字怎么插入目录并自动更新_wps文字如何插入目录并自动更新方法  三星GalaxyZFold5怎样在相册制作折叠屏分镜_iPhone三星GalaxyZFold5相册制作折叠屏分镜【创意编辑】  AO3官方在线访问地址 Archive of Our Own最新镜像合集  LINUX怎么安装MySQL_LINUX数据库安装配置教程  Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖  Golang如何实现微服务鉴权与权限控制_Golang微服务鉴权与权限管理实践  如何创建独立于主系统的J*a运行环境_隔离式环境搭建策略  J*aScript Promise链中如何正确终止后续.then执行并处理错误  Python中高效且防溢出的双曲正弦计算:基于对数空间的优化策略  优酷会员付费后没到账怎么办_优酷会员充值异常及解决方法  厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新  抖音极速版最新版本 抖音极速版官方下载地址  优化Django表单:提交验证失败后保留用户输入  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  多闪网页版在线观看免费入口_多闪官网访问入口  优化 Jest 模拟:强制未实现函数抛出错误以提升测试效率  QQ邮箱稳定登录入口_QQ邮箱官方网站网页版使用  怎么搭建一个php网站源码_搭php网站源码搭建教程  浏览器打开即用 美图秀秀网页版入口  如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践  AO3网页版合集入口 Archive of Our Own同人作品浏览指南 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!