我有一个 nant 脚本试图更改 web.config 中的 URL 值,但 Nant 不断抛出此错误:
'=' is an unexpected token. The expected token is ';'. Line 1, position 80.
我追踪到了 nant 脚本 URL 中的分号。我首先在 URL 中使用分号的原因是 web.config 不喜欢与符号 (&)。所以我不得不用 &
替换 & 。这是我的 web.config 值:
<appSettings>
<add key="myUrl" value="http://www.google.com/whatever?id=myId&fullScreen=1"/>
</appSettings>
我可以在 web.config 中 xmlpoke 所有其他“添加键”,但这个除外,所以这不是 xpath 问题。 这是 nant 脚本:
<property name="myUrl" value="http://www.google.com/whatever?id=123456&fullScreen=2"/>
<xmlpoke
file="${config.file}"
xpath="/configuration/appSettings/add[@key = 'myUrl']/@value"
value="${myUrl}">
</xmlpoke>
所以问题不在于 web.config 中的分号,而在于 nant 脚本中的分号。我想我需要以某种方式转义 nant 脚本中的分号。有人知道如何执行此操作或其他操作以使其正常工作吗?
最佳答案
已经过去 16 个小时了,没有人听到任何消息。对我来说幸运的是,经过几个小时的谷歌搜索后我找到了解决方案。
解决方案是使用&
。我不知道为什么需要额外的 amp;
但它有效。
所以现在我的 nant 脚本看起来像这样:
<property name="myUrl" value="http://www.google.com/whatever?id=123456&amp;fullScreen=2"/>
这归功于我刚刚订阅的 Gary from the nant-users mailing list :)
关于asp.net - 读取字符串中的分号时,nant 脚本中的 xmlpoke 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729447/