我正在使用 XML-Document-Transform 转换我的 web.config 文件以部署到登台服务器。不幸的是,它并没有完全按照指定的方式进行转换,而是在元素的文本中添加了一些空格。然后这个空白被我使用的 Castle Windsor 配置拾取并轰炸应用程序。
这是一个例子:
网络配置:
<configuration>
<castle>
<properties>
<serverUrl>http://test</serverUrl>
<properties>
<components>
<component id="MyService">
<parameters>
<Url>#{serverUrl}/MyService.asmx</Url>
</parameters>
</component>
</components>
<castle>
<configuration>
web.staging.config:
<configuration>
<castle>
<properties>
<serverUrl xdt:Transform="Replace">http://staging</serverUrl>
<properties>
<castle>
<configuration>
输出 web.config:
<configuration>
<castle>
<properties>
<serverUrl>http://staging
</serverUrl>
<properties>
<components>
<component id="MyService">
<parameters>
<Url>#{serverUrl}/MyService.asmx</Url>
</parameters>
</component>
</components>
<castle>
<configuration>
如您所见serverUrl
,转换已将额外的空格插入到元素中。
不幸的是,Castle 在将 插入创建无效 URL 的服务时包含serverUrl
空格Url
。
还有人遇到这个吗?任何人都有一个仍然使用新的 Microsoft 转换方法但不会导致插入额外空格的解决方案?
恕我直言,这是转换过程中的一个错误,尽管 Castle 可能也应该忽略空格。
非常感谢,罗布