2016-08-22 37 views
0

我有一个配置文件<appSettings>标签。我希望其中的一些是恒定的,并从另一个配置文件中加载其中的一些。从配置和其他一些configSource加载一些

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 

任何人都可以帮忙吗?这是可能的,还是有另一种解决问题的方法?

回答

1

浪费了太多的时间在此之后,我来到了soultion:

<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属性。现在它工作正常。

相关问题