Web.config转换 - 周围的元素

mda*_*all 8 msbuild web-config web-config-transform

我正在使用通过VS2010提供的web.config转换.在这一个案例中,我想知道是否有可能在转换期间将一个元素"包围"另一个元素.这是一个例子:

默认的web.config包含:

<configuration>
  <system.web>
   ....
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我的转换文件应该包含

<configuration>
  <location inheritInChildApplications="false">
    <system.web>
    ...
    </system.web>
  </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

所以基本上我想用一个location元素'包装'system.web元素.我唯一的想法就是做一个转换,以便我在之前和之后插入:

<location inheritInChildApplications="false" 
          xdt:Transform="InsertBefore(/configuration/system.web)">
</location xdt:Transform="InsertAfter(/configuration/system.web)">
Run Code Online (Sandbox Code Playgroud)

但根据VS(我猜测因为Transform属性),结束位置元素不是有效的xml.只是在system.web之前插入一个自动关闭的位置元素也无济于事,因为生成的system.web仍然没有被"包围".

小智 2

目前不可能使用 web.config 转换来做到这一点,但如果您编写自定义转换,它确实应该是可行的...正在研究如何编写自定义转换的文档更新,但尚未发布现在出来...

一旦可用我会立即发布...