从 config 加载一些,从 configSource 加载一些
Loading some from config and some other from configSource
我有一个带有 <appSettings>
标签的配置文件。我希望其中一些保持不变,并从另一个配置文件加载其中一些。
Web.config:
<appSettings>
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
<add key="commonKey3" value="commonValue3" />
<!-- ??? -->
</appSettings>
AdditionalSettings.config
<appSettings>
<add key="AdditionalKey1" value="AdditionalValue1" />
<add key="AdditionalKey2" value="AdditionalValue2" />
</appSettings>
结果:Web.config
编译后应如下所示:
<appSettings>
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
<add key="commonKey3" value="commonValue3" />
<add key="AdditionalKey1" value="AdditionalValue1" />
<add key="AdditionalKey2" value="AdditionalValue2" />
</appSettings>
如果所有的值都存储在单独的文件中就很容易了:
<appSettings configSource="Settings.config" />
但我不知道如何合并两个文件,如果一些标签应该出现在基本文件中,并且只应该从一个单独的文件中加载额外的标签。
我也试过了
<appSettings configSource="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
但这行不通:A section using 'configSource' may contain no other attributes or elements.
当然我不能只创建两个标签(一个有具体值,另一个有 configSource),结果是:
There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined
有人可以帮忙吗?甚至有可能,还是有另一种方法可以解决这个问题?
在这上面浪费了太多时间之后,我得出了结论:
<appSettings configSource="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
是非法的,但是:
<appSettings file="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
非常好...所以这一切都归结为将 configSource
属性更改为 file
属性。现在可以正常使用了。
我有一个带有 <appSettings>
标签的配置文件。我希望其中一些保持不变,并从另一个配置文件加载其中一些。
Web.config:
<appSettings>
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
<add key="commonKey3" value="commonValue3" />
<!-- ??? -->
</appSettings>
AdditionalSettings.config
<appSettings>
<add key="AdditionalKey1" value="AdditionalValue1" />
<add key="AdditionalKey2" value="AdditionalValue2" />
</appSettings>
结果:Web.config
编译后应如下所示:
<appSettings>
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
<add key="commonKey3" value="commonValue3" />
<add key="AdditionalKey1" value="AdditionalValue1" />
<add key="AdditionalKey2" value="AdditionalValue2" />
</appSettings>
如果所有的值都存储在单独的文件中就很容易了:
<appSettings configSource="Settings.config" />
但我不知道如何合并两个文件,如果一些标签应该出现在基本文件中,并且只应该从一个单独的文件中加载额外的标签。
我也试过了
<appSettings configSource="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
但这行不通:A section using 'configSource' may contain no other attributes or elements.
当然我不能只创建两个标签(一个有具体值,另一个有 configSource),结果是:
There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined
有人可以帮忙吗?甚至有可能,还是有另一种方法可以解决这个问题?
在这上面浪费了太多时间之后,我得出了结论:
<appSettings configSource="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
是非法的,但是:
<appSettings file="Settings.config">
<add key="commonKey1" value="commonValue1" />
<add key="commonKey2" value="commonValue2" />
... etc
非常好...所以这一切都归结为将 configSource
属性更改为 file
属性。现在可以正常使用了。