2011-11-02 44 views
0

我正在爲SharpDevelop 4.1創作一個項目模板,並且此模板中的一個文件是包含NLog配置的XML配置文件。問題是SharpDevelop模板本身的NLog佈局和變量替換使用相同的語法。即在佈局中${time}的問題是:如何防止SharpDevelop項目模板中的變量替換

<target xsi:type="File" name="file" layout="${time} ${level} ${logger} ${message}" fileName="${ProjectName}.log" /> 

意圖要被輸出到所述生成的文件原樣,但是,SharpDevelop的模板膨脹與時間替換它的模板被擴展:

<target xsi:type="File" name="file" layout="10:37 AM ${level} ${logger} ${message}" fileName="TestProject.log" /> 

我還需要$ {ProjectName}替換。如何防止或解決$ {time}替換問題?

+0

您好,我注意到你參與了「醫療保健IT「堆棧交換,並認爲您可能對此建議感興趣 - > [醫療行業](http://area51.stackexchange.com/proposals/41370/healthcare-industry?referrer=kaxVuDLRWM_Z_15aCbzplg2)。很抱歉,我會在短時間內或在回覆時刪除此評論。 –

回答

0

通過查看SharpDevelop的StringParser類的源代碼後,它看起來沒有標籤的轉義機制。

但我可以通過修改NLOG佈局渲染器,使其不再對SharpDevelop的代碼相符,但仍然有NLOG同樣的效果解決它:

<target xsi:type="File" name="file" layout="${time:universalTime=False} ${level} ${logger} ${message}" fileName="${ProjectName}.log" />