2010-01-27 55 views
6

我有一個非常類似於描述文件in this post的場景。它描述瞭如何加載包含屬性&項目的文件的內容,確保它們作爲過程的一部分被解析。除了將內容寫入另一個文本文件(通常是.ini文件)之外,我正在做同樣的事情。MSBuild - 將文件轉義字符寫入文件

總之我會通過導入項目/的PropertyGroup包含該文本開頭:

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

[標題]

設置1 = $(FirstValue)

設置2 = $(SecondValue)

setting3 =列表;的;值;分隔;由;分號

setting4 =唧唧歪歪

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

&希望把它寫至遠離包含以下一個新的.ini文件:

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

[標題]

設置1 =通過的msbuild

設置2解析值=由的msbuild解決

setting3 =列表中的另一個值;的;值;分隔;由;分號

setting4 =唧唧歪歪

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

唯一的問題是某些文件將包含分號。我可以沒有評論地生活,但它們也被用作值的一部分,例如在列表中。這是使用WriteLinesToFile任務的結果。分號被視爲轉義字符&導致新行,所以上例中'setting3'的值將被分成6行。

有沒有解決這個問題的方法而不執行我自己的任務?

在此先感謝您的幫助!

回答

5

我有類似的情況,但只是在WriteLinesToFile任務中使用包含分號的靜態文本。我通過使用%3B作爲分號的轉義字符來實現它。

如果你可以讓分號在內存中的值正確顯示(使用消息任務來檢查這個),那麼你可能只需要用%3B替換它們就可以寫出文件。