【问题标题】:MSBuild - Writing Escape Characters to FilesMSBuild - 将转义字符写入文件
【发布时间】:2010-10-13 00:17:15
【问题描述】:

我有一个与in this post 描述的场景非常相似的场景。它描述了如何加载包含属性和项目的文件的内容,确保它们作为过程的一部分被解析。除了将内容写入另一个文本文件(通常是 .ini 文件)之外,我正在做同样的事情。

简而言之,我将首先导入一个包含此文本的项目/属性组:

; ------------

[标题]

setting1=$(FirstValue)

setting2=$(SecondValue)

setting3=list;of;values;delimited;by;分号

setting4=bla bla bla

; ------------

& 希望将其写入包含以下内容的新 .ini 文件:

; ------------

[标题]

setting1=msbuild 解析的值

setting2=msbuild 解析的另一个值

setting3=list;of;values;delimited;by;分号

setting4=bla bla bla

; ------------

唯一的问题是某些文件将包含分号。我可以没有 cmets,但它们也被用作价值的一部分,例如在列表中。这是使用 WriteLinesToFile 任务的结果。分号被视为转义字符并导致换行,因此上例中的 'setting3' 的值将分成 6 行。

有没有办法在不执行我自己的任务的情况下解决这个问题?

提前感谢您的帮助!

【问题讨论】:

    标签: file msbuild escaping character


    【解决方案1】:

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

    如果您可以让分号正确显示在内存值中(使用消息任务来检查这一点),那么您可能只需将它们替换为 %3B 即可将文件写出。

    【讨论】:

    • 谢谢!应该被标记为答案 - 我见过的唯一解决这个问题的方法
    猜你喜欢
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多