我正在尝试使用TeamCity File Content Replacer构建功能来替换App.config文件(.NET控制台项目)中的某些键。 如official documentation中所述,我已指定
处理文件:我要替换的文件
查找内容: RegEx表示我要替换的文本
替换为:我想用其替换文本的TeamCity变量
如果替换为文本足够短,那么一切都可以正常工作,例如 dummyText 可以工作,但是使用{{1 }},在构建日志中收到的错误消息如下:
\\Server675X\Shared\Artifactory\
我看到替换字符串的长度恰好是32,问题是我需要检查/修改什么设置才能使替换成为可能?
PS:我正在使用TeamCity Enterprise 9.1.7(内部版本37573)
答案 0 :(得分:0)
最后找到了解决问题的方法,该错误消息非常容易误导实际问题,在于转义反斜杠
使用\\Server675X\Shared\Artifactory\
会给出错误
替换文件内容时出错:字符串索引超出范围:32
但是,当我们使用\\\\Server675X\\Shared\\Artifactory\\
时,没有错误,请注意我们如何转义了反斜杠。
最好收到一条相关的错误消息,指出找到未转义的字符或类似的内容。
希望这对某人有帮助!