是否有任何方法可以使用web.config转换进行“替换或插入”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (41)

我可以通过匹配键来进行“替换”转换,例如

<add key="Environment" value="Live" xdt:Transform="Replace" xdt:Locator="Match(key)" />

我可以做“插入”,例如

<add key="UseLivePaymentService" value="true" xdt:Transform="Insert" />

但是我真的觉得有用的是一个ReplaceOrInsert转换,因为我不能总是依赖于原始配置文件有/没有某个键。

有没有办法做到这一点?

提问于
用户回答回答于

我发现了一个便宜的解决方法。如果你有很多需要被“替换或插入”的元素,它不会很好,并且不能很好地工作。

做一个“删除”,然后是“InsertAfter | InsertBefore”。

例如,

<authorization xdt:Transform="Remove" />
<authorization xdt:Transform="InsertAfter(/configuration/system.web/authentication)">
  <deny users="?"/>
  <allow users="*"/>
</authorization>
用户回答回答于

xdt:Transform="Remove"使用xdt:Transform="InsertIfMissing"在VS 2012中。

<authorization xdt:Transform="Remove" />
<authorization xdt:Transform="InsertIfMissing">
  <deny users="?"/>
  <allow users="*"/>
</authorization>

扫码关注云+社区