MSBuild - 将转义字符写入文件

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行.

没有实现我自己的任务,有没有办法解决这个问题?

在此先感谢您的帮助!

gre*_*mac 7

我有类似的情况,但只是在WriteLinesToFile任务中使用包含分号的静态文本.我通过使用%3B作为分号的转义字符来实现它.

如果你可以让分号在内存中正确显示(使用Message任务来检查),那么你可能只需要用%3B替换它们来写出文件.