是否有可能改变以下的Web.config文件的appSettings:
<appSettings>
<add key="developmentModeUserId" value="00297022" />
<add key="developmentMode" value="true" />
/* other settings here that should stay */
</appSettings>
弄成这个样子:
<appSettings>
<add key="developmentMode" value="false" />
/* other settings here that should stay */
</appSettings>
所以,我需要删除键developmentModeUserId,我需要更换价值的关键developmentMode。
你想是这样的:
<appSettings>
<add key="developmentModeUserId" xdt:Transform="Remove" xdt:Locator="Match(key)"/>
<add key="developmentMode" value="false" xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"/>
</appSettings>
另请参见: Web.config文件转换语法Web应用程序项目部署
如果你想从转型Web配置文件web.Release.config您的应用程序设置,你必须做以下步骤。 让你的web.config的应用程序设置文件是这个 -
<appSettings>
<add key ="K1" value="Debendra Dash"/>
</appSettings>
现在,这里是改造的web.Release.config。
<appSettings>
<add key="K1" value="value dynamicly from Realease"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"
/>
</appSettings>
这将K1的值转换为在realese模式的新值。
更换所有的AppSettings
这是你只是想更换web.config中的一整节的矫枉过正的情况。 在这种情况下,我将取代在web.config中web.release.config将新设置的所有的AppSettings。 这是我的底线的web.config的appSettings:
<appSettings>
<add key="KeyA" value="ValA"/>
<add key="KeyB" value="ValB"/>
</appSettings>
现在在我的web.release.config文件,我要创建一个appSettings部分除了我将包括属性XDT:转换=”替换”,因为我只想更换整个部件。 我没有使用XDT:定位器因为没有找到 - 我只是想彻底清除,并取代一切。
<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配置的值替换。 那很简单!
文章来源: How to change the value of attribute in appSettings section with Web.config transformation