TeamCity文件内容替换器:字符串索引超出范围

时间:2018-08-23 03:24:57

标签: teamcity teamcity-9.1

我正在尝试使用TeamCity File Content Replacer构建功能来替换App.config文件(.NET控制台项目)中的某些键。 如official documentation中所述,我已指定

处理文件我要替换的文件
查找内容 RegEx表示我要替换的文本
替换为我想用其替换文本的TeamCity变量

如果替换为文本足够短,那么一切都可以正常工作,例如 dummyText 可以工作,但是使用{{1 }},在构建日志中收到的错误消息如下:

\\Server675X\Shared\Artifactory\

我看到替换字符串的长度恰好是32,问题是我需要检查/修改什么设置才能使替换成为可能

PS:我正在使用TeamCity Enterprise 9.1.7(内部版本37573)


1 个答案:

答案 0 :(得分:0)

最后找到了解决问题的方法,该错误消息非常容易误导实际问题,在于转义反斜杠

使用\\Server675X\Shared\Artifactory\会给出错误

  

替换文件内容时出错:字符串索引超出范围:32

但是,当我们使用\\\\Server675X\\Shared\\Artifactory\\时,没有错误,请注意我们如何转义了反斜杠。

最好收到一条相关的错误消息,指出找到未转义的字符或类似的内容。

希望这对某人有帮助!