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

多项目多App.config文件方案中,ConfigurationManager.AppSettings读取哪个配置?

关于ConfigurationManager.AppSettings读取配置文件的规则
  • 核心结论:ConfigurationManager.AppSettings只会读取当前运行的入口项目的配置文件(编译后对应[入口项目名].exe.config),和调用该方法的代码所在的类库项目完全无关。

  • 为什么引入NewtonSoft.Json后出问题?
    之前只有两个App.config时,类库项目的App.config其实从未被读取过——一直是入口项目的配置在生效。引入NewtonSoft.Json后,NuGet自动给每个项目添加了带绑定重定向的App.config,但这些类库的App.config编译后不会成为程序运行时的有效配置文件。现在找不到配置项,大概率是你把需要的配置项放在了类库的App.config里,而不是入口项目的App.config中。

  • 解决建议:

    1. 所有业务相关的配置项,统一放到入口项目的App.config中,确保编译后生成的exe.config包含这些配置。
    2. 类库项目的App.config仅保留绑定重定向内容即可,不需要存放业务配置。
    3. 如果确实需要类库独立读取自己的配置,可通过ConfigurationManager.OpenExeConfiguration("[类库输出路径].dll.config")手动指定路径读取,但这属于非常规场景,不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:40:58