相关疑难解决方法(0)

Web.config转换 - 缺少手册

你可以在这里那里阅读web.config转换文档,但是有两个白象似乎没有人在讨论:

  1. 你如何在执行变量替换ConditionXPath改造,并...
  2. 可以在Locator有意义嵌套在Transform

让我举一个可以从这两个选项中受益的例子.假设我有这个:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
      <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

假设我想完全擦除dependentAssembly与xpath匹配的节点及其子节点//runtime/assemblyBinding/dependentAssembly[assemblyIdentity@name='System.Web.Mvc'].要做到这一点,我可能想要这样的事情:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity 
          name="System.Web.Mvc" 
          xdt:Remove 
          xdt:Locator="Condition(..[*@name=$name])" 
      />
    </dependentAssembly>
  </assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)

很明显,我@name=$name根据xpath变量概念编写了语法,但这个例子说明了为什么我想要这个功能.这支持吗?我该如何调整语法以利用它?我可以输入一个字符串文字,但我只是想知道这是否可行.

我可能尝试删除dependentAssembly节点的另一种方法是:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" xdt:Transform="Remove">
    <dependentAssembly>
      <assemblyIdentity name="System.Web.Mvc" xdt:Locator="Match(name)" />
    </dependentAssembly>
  </assemblyBinding>
</runtime> …
Run Code Online (Sandbox Code Playgroud)

deployment xslt xpath web-config visual-studio-2010

7
推荐指数
2
解决办法
3154
查看次数

标签 统计

deployment ×1

visual-studio-2010 ×1

web-config ×1

xpath ×1

xslt ×1