在web.configASP.NET应用程序的-file中,配置的某些部分(如appSettings和connectionStrings)支持属性file和configSource.
使用file-attribute和configSource-attribute有什么区别?什么时候应该使用哪个属性,你可以同时使用它们吗?
<?xml version="1.0"?>
<configuration>
<appSettings file="AppSettings.config">
</appSettings>
<connectionStrings configSource="ConnectionStrings.config">
</connectionStrings>
<!-- ... -->
</configuration>
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有一个带有appSettings部分的web.config文件.appSettings部分包含应用使用的许多键.appSettings部分还包含该file="AppSettings.config"属性.然后,AppSettings.config文件包含主web.config中的值的子集.我们的想法是让web.config包含所有基本/默认设置,然后提供AppSettings.config文件中默认值的覆盖.
根据这篇文章(/sf/answers/485806051/),我的设置应该工作(特别是:) 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中的非工作键的正下方时,它们似乎是相同的.我希望在配置文件合并错误的情况下必须有一些方法来抛出错误?