gpt4 book ai didi

visual-studio-2010 - Web.config 转换 - 缺少的手册

转载 作者:行者123 更新时间:2023-12-03 15:25:49 25 4
gpt4 key购买 nike

您可以阅读 web.config 转换文档 herethere ,但有两只白象似乎没人讨论:

  • 如何在 Condition 中执行变量替换或 XPath变换和...
  • 可否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>

    假设我想完全删除 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>

    好吧,显然我编造了语法 @name=$name基于 xpath variable concepts ,但这个例子说明了为什么我想要这个功能。这是支持的吗?我必须如何调整我的语法以利用这一点?我可以输入字符串文字,但我只想知道这是否可行。

    我可能会尝试删除 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>

    请注意 Transform位于祖父节点上,定位器位于叶节点上。以上合法吗?这个想法是只删除 dependantAssembly具有内部定位符匹配的节点。

    撇开这两种方法不谈,您将如何删除定位 dependantAssembly及其所有子节点?

    最佳答案

    问题在于 assemblyBinding 标记上的命名空间属性。

    删除 AspNetHelper 引用对我有用:

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly xdt:Transform="Remove"
    xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='Microsoft.VisualStudio.Enterprise.AspNetHelper')">
    </dependentAssembly>
    </assemblyBinding>
    </runtime>

    关于visual-studio-2010 - Web.config 转换 - 缺少的手册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792325/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com