在我的应用程序中,我有一个带有 appSettings 部分的 web.config 文件。appSettings 部分包含应用程序使用的许多键。appSettings 部分还包含该file="AppSettings.config"
属性。然后,AppSettings.config 文件包含来自主 web.config 的值的子集。这个想法是让 web.config 包含所有基本/默认设置,然后在 AppSettings.config 文件中提供默认设置的覆盖。
根据这篇文章(https://stackoverflow.com/a/6940086/216160),我的设置应该可以正常工作(尤其是:) will merge (and override) settings in the .config file
。
我看到的问题是它不起作用。我有一个默认值 false,然后驱动一些关于显示某些 beta 报告功能(或不显示)的逻辑,并将 AppSettings.config 设置为将此键覆盖为“true”。可悲的是,它继续隐藏报告系统。但是,如果我更改 web.config 值,则该项目会显示。
AppSettings 是否有可能没有合并? 我怎样才能测试/证明真正发生了什么?
编辑
AppSettings.config 文件中似乎存在某种错误。当一切正常时,合并完全按预期发生。但是,我仍然有如何检测 AppSettings.config 文件何时出现某种问题的问题。我已经测试过该文件是否是有效的 XML(确实如此),但是仍然存在一些问题。当我从 web.config 复制功能密钥并将其粘贴在 AppSettings.config 中的非工作密钥下方时,它们似乎是相同的。我希望在配置文件合并错误的情况下必须有某种方法来引发错误?