如何防止SharpDevelop项目模板中的变量替换

时间:2011-11-02 16:41:41

标签: sharpdevelop

我正在为SharpDevelop 4.1创作项目模板,该模板中的一个文件是包含NLog配置的XML配置文件。问题是SharpDevelop模板本身的NLog布局和变量替换使用相同的语法。即布局中的${time}是问题所在:

<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}替换?

1 个答案:

答案 0 :(得分:0)

在StringParser类中查看SharpDevelop的源代码后,似乎没有标记的转义机制。

但是我可以通过修改NLog布局渲染器来解决它,因此它不再与SharpDevelop标记匹配,但在NLog中仍然具有相同的效果:

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