首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果xdt元素没有子元素,则清除它。

如果xdt元素没有子元素,则清除它。
EN

Stack Overflow用户
提问于 2015-02-18 19:25:31
回答 1查看 1.6K关注 0票数 6

因此,我开始使用nuget,它是web.config install/uninstall.xdt值。

我的问题是,是否存在和xdt:Transform将清除空元素。我在这里什么都没发现。https://msdn.microsoft.com/en-us/library/dd465326%28v=vs.110%29.aspx

这是我的例子。

我现在的Web.config.install.xdt是这样的

代码语言:javascript
复制
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <compilation xdt:Transform="InsertIfMissing">
      <assemblies xdt:Transform="InsertIfMissing">
        <add xdt:Transform="InsertIfMissing" xdt:Locator="Match(assembly)" assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
      </assemblies>
    </compilation>
  </system.web>
</configuration>

我的卸载如下所示

代码语言:javascript
复制
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <compilation>
      <assemblies>
        <add xdt:Transform="Remove" xdt:Locator="Match(assembly)" assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
      </assemblies>
    </compilation>
  </system.web>
</configuration>

这是我以前的web.config (简化)

代码语言:javascript
复制
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

这是我的web.config在install.xtd之后

代码语言:javascript
复制
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" />
  </system.web>

这是卸载后的web.config

代码语言:javascript
复制
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" />
  </system.web>

有什么要去掉的标签吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-17 22:40:55

它显示您可以对一个元素指定多个转换。因此,您可以从安装中删除内容,然后检查元素是否有子元素,如果没有删除元素。

代码语言:javascript
复制
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.web>
    <compilation>
      <assemblies>
        <add xdt:Transform="Remove" xdt:Locator="Match(assembly)" assembly="MyAssembly, Version=4.5.4.0, Culture=neutral, PublicKeyToken=asdfasdfasdfasdf" />
      </assemblies>
      <assemblies xdt:Locator="Condition(count(*) = 0)" xdt:Transform="Remove"/>
    </compilation>
  </system.web>
</configuration>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28592158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档