使用ConfigurationManager读取App.Config中ConnectionString返回null如何解决
C# 读取App.Config连接字符串返回空报错修复方案
常见原因与对应解决方法
- 检查App.Config文件属性配置
手动新增的App.Config默认不会同步到编译输出目录,右键点击项目内的App.Config文件,选择「属性」,调整两个配置项:- 生成操作:设置为
无 - 复制到输出目录:设置为如果较新则复制 或 始终复制
- 生成操作:设置为
- 确认程序集引用正确
必须在项目的「引用」中手动添加System.Configuration程序集,仅引用命名空间无法正常调用配置读取能力。 - 匹配项目类型的配置规则
如果你当前项目是类库项目,类库自身的App.Config不会被加载生效,需要将connectionStrings节点配置到**主启动项目(控制台/WinForm/WPF/网站等)**的配置文件中。 - 确认编译后配置文件正常生成
可执行项目编译后,App.Config会自动重命名为[你的程序集名称].exe.config,确认该文件和主程序exe在同目录下,且内部包含你写的连接字符串配置节点。
代码优化建议
读取前先判断节点是否存在,避免空引用异常:
string ConnectionString = null; var connSetting = System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"]; if (connSetting != null) { ConnectionString = connSetting.ConnectionString; } // 后续添加空值分支处理逻辑
内容的提问来源于stack exchange,提问作者user17071394
相关产品推荐
相关产品推荐

