【问题标题】:Unable to transform web.config无法转换 web.config
【发布时间】:2013-09-01 16:06:27
【问题描述】:

我刚刚开始使用 web.config 转换,我能够成功应用替换转换。但是我正在努力进行更复杂的转换,例如

<downloadHandlers>
  <add name="FileDownload" path="~/Download.ashx">
    <tcpDownloadEndpoint endpointIPAddress="127.0.0.1" endpointPort="8100" />
  </add>
</downloadHandlers>

我在转换文件中有以下行,用于将本地 IP 替换为 UAT 环境的 UAT IP。

<tcpDownloadEndpoint 
endpointIPAddress="127.127.0.1"
xdt:Transform="SetAttributes(endpointIPAddress)">
</tcpDownloadEndpoint >

但是上面的代码没有任何作用,web.config中的IP经过改造后仍然包含本地IP。

我正在使用带有由 Syed Hashmi (MS) 编写的 web.config 转换插件的 Visual Studio 2010。

谁能告诉我我做错了什么。

谢谢

【问题讨论】:

    标签: asp.net visual-studio-2010 web.config-transform


    【解决方案1】:

    您应该在转换 web.config 中使用以下内容:

    <downloadHandlers>
      <add name="FileDownload" path="~/Download.ashx">
        <tcpDownloadEndpoint
      endpointIPAddress="127.127.0.1"
      xdt:Transform="SetAttributes(endpointIPAddress)">
        </tcpDownloadEndpoint >
      </add>
    </downloadHandlers>
    

    在指定转换时,您需要使用完整的 XML 节点层次结构。通过移除外部节点,web.config 转换无法找到您要转换的确切节点。

    【讨论】:

    • 感谢@Wouter,但这也没有任何影响:(该值仍然是 127.0.0.1 而不是 127.127.0.1。
    • 您如何查看结果?您将转换放在哪里?
    • 我通过右键单击 Web.SIT.Config 文件并选择 Preview Transform 在 Visual Studio 中预览结果。
    • 抱歉,我又错过了一个父节点 ,因此转换引擎无法像您建议的那样在指定位置找到元素。将您的答案标记为正确答案。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多