You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从App.Config获取连接字符串在.NET 5.0报ConfigurationErrorsException错误如何解决

问题原因

.NET 5+ 已重构配置系统,不再默认兼容 .NET Framework 中 App.config 的所有原生配置节,你遇到的两个报错核心原因如下:

  1. 旧版 App.config 里的 <system.diagnostics> 配置节没有对应的注册声明,.NET 5 的 ConfigurationManager 无法识别该节点
  2. .NET 5 未内置 ConfigurationManager 相关组件,项目缺少对应依赖包
解决步骤
  • 第一步:安装 System.Configuration.ConfigurationManager NuGet 包
    你需要先安装兼容包才能沿用旧的配置读取逻辑,可直接在 NuGet 包管理器搜索安装,也可通过包管理控制台执行命令:
    Install-Package System.Configuration.ConfigurationManager
  • 第二步:处理 App.config 中的 system.diagnostics 节点
    如果你不需要使用 .NET Framework 时代的 My.Application.Log 日志功能,直接删除整个 <system.diagnostics> 节点即可,这是最快的解决方案,能直接解决「Unrecognized configuration section system.diagnostics」报错。
    如果你需要保留该节点,就在空的 <configSections> 标签内添加节点注册声明:
    <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    
  • 第三步:验证配置读取逻辑
    完成前两步操作后,你原来的连接字符串读取代码无需修改即可正常运行。
可选适配方案

如果可以适配 .NET 5 的新配置体系,更推荐使用 appsettings.json 存储配置,扩展性和性能更优:

  1. 在项目根目录新建 appsettings.json 文件,将文件属性设置为「如果较新则复制」到输出目录,文件内容示例:
{
  "ConnectionStrings": {
    "ConnString": "server=0.0.0.0;userid=rice;password=password;database=db;"
  }
}
  1. 安装 Microsoft.Extensions.Configuration.Json NuGet 包,对应的读取代码示例:
Dim config As IConfiguration = New ConfigurationBuilder() _
    .AddJsonFile("appsettings.json") _
    .Build()
Dim connStr As String = config.GetConnectionString("ConnString")
Public Shared Connection As New MySqlConnection(connStr)

内容的提问来源于stack exchange,提问作者SupBe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:36:01