取代所有AppSettings
在这种情况下,您只想替换web.config的整个部分,就显得有些大材小用。在这种情况下,我将替换web.config中的所有AppSettings,将替换web.release.config中的新设置。这是我的基准web.config appSettings:
<appSettings>
<add key="KeyA" value="ValA"/>
<add key="KeyB" value="ValB"/>
</appSettings>
现在,在我的web.release.config文件中,我将创建一个appSettings部分,但我将包括属性xdt:Transform =“ Replace”,因为我只想替换整个元素。我不必使用xdt:Locator,因为没有什么可定位的–我只想擦拭石板并更换所有东西。
<appSettings xdt:Transform="Replace">
<add key="ProdKeyA" value="ProdValA"/>
<add key="ProdKeyB" value="ProdValB"/>
<add key="ProdKeyC" value="ProdValC"/>
</appSettings>
请注意,在web.release.config文件中,我的appSettings部分具有三个键,而不是两个,并且键甚至都不相同。现在,让我们看看生成的web.config文件在发布时会发生什么:
<appSettings>
<add key="ProdKeyA" value="ProdValA"/>
<add key="ProdKeyB" value="ProdValB"/>
<add key="ProdKeyC" value="ProdValC"/>
</appSettings>
就像我们期望的那样-web.config appSettings被web.release配置中的值完全替代。那很简单!