删除匹配定位器的父级

时间:2012-11-03 10:58:48

标签: web-config-transform

有没有办法根据子属性定位节点?或者删除匹配节点的父节点?

我需要运行web.config转换来删除第二个< dependentAssembly>在下面:

<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <!-- Don't want to delete this one -->
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
  </dependentAssembly>
  <!-- This is the one I want to delete -->
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.VisualStudio.Enterprise.AspNetHelper" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    <codeBase version="11.0.0.0" href="file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%2011.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.AspNetHelper.DLL"/>
  </dependentAssembly>
 </assemblyBinding>
</runtime>

查找&lt; assemblyIdentity&gt;很容易,但我需要删除父&lt; dependentAssembly&gt; (和&lt; codeBase&gt;)。如果有一个“xdt:Transform =”RemoveParent“这可以解决问题,但AFAIK没有。

或者,如果有一个Locator,我可以在&lt; dependentAssembly&gt;上使用。哪个会匹配孩子,那也可以起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用此解决方案:Clearing out xdt element if it has no children

2个步骤: - 首先删除孩子 - 其次删除空的assemblyBinding元素。