2016-08-22 52 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屬性。現在它工作正常。