Ric*_*hm7 6 msbuild escaping file character
我有一个非常类似于这篇文章中描述的场景.它描述了如何加载包含属性和项目的文件的内容,确保它们在过程中被解析.除了将内容写入另一个文本文件(通常是.ini文件)之外,我正在做同样的事情.
简而言之,我首先导入一个包含此文本的项目/属性组:
; -----------
[标题]
设置1 = $(FirstValue)
设置2 = $(SecondValue)
setting3 =列表;的;值;界定;通过;分号
setting4 = bla bla bla
; -----------
并希望将其写入包含以下内容的新.ini文件:
; -----------
[标题]
setting1 =由msbuild解析的值
setting2 =由msbuild解析的另一个值
setting3 =列表;的;值;界定;通过;分号
setting4 = bla bla bla
; -----------
唯一的问题是某些文件将包含分号.我可以没有评论地生活,但它们也被用作价值的一部分,例如在列表中.这是使用WriteLinesToFile任务的结果.分号被视为转义字符并导致换行,因此上例中'setting3'的值将分为6行.
没有实现我自己的任务,有没有办法解决这个问题?
在此先感谢您的帮助!
我有类似的情况,但只是在WriteLinesToFile任务中使用包含分号的静态文本.我通过使用%3B作为分号的转义字符来实现它.
如果你可以让分号在内存中正确显示(使用Message任务来检查),那么你可能只需要用%3B替换它们来写出文件.