如何使用Web.config文件转型改变appSettings部分属性的值(How to chang

2019-07-29 22:18发布

是否有可能改变以下的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。

Answer 1:

你想是这样的:

<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应用程序项目部署



Answer 2:

如果你想从转型Web配置文件web.Release.config您的应用程序设置,你必须做以下步骤。 让你的w​​eb.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模式的新值。



Answer 3:

更换所有的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