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