bra*_*ing 7 xml t4 visual-studio-2012
我正在使用visual studio 2012从T4模板生成XML.模板的顶部看起来像
<#@ template language="VBv4" hostspecific="True" debug="True" #>
<#@ output extension="wmef" #>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)
T4模板正确生成XML.这没问题.然而,visual studio变得混乱,它还试图将模板本身作为XML处理并报告构建错误,说XML形成错误,当然这是因为它是XML的模板,而不是实际的XML.
当我第一次编辑.tt文件时,一切正常.但是,一旦生成XML文件并将其加载到编辑器中以查看它,然后突然返回到.tt文件,.tt文件的语法突出显示为XML,然后出现构建错误.
Perhapps这只是一个m $ oft的错误
关于这里可能发生什么的任何想法?
这是VS中的一个错误.您可以通过在.tt
文件中替换该行来解决它
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)
同
<# WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); #>
Run Code Online (Sandbox Code Playgroud)
一旦VS对模板文件的XML格式感到困惑,它就会持续存在这种混乱 - 即使在完成上述编辑和重启之后也是如此.唯一的方法似乎是.tt
从项目中删除现有文件并从头开始重新创建.
通过此更改,该.tt
文件不再具有<?xml?>
标记,因此VS不会将其视为XML文件.它会忽略文字字符串中的所有内容.
这似乎与包含XML的T4模板导致解析错误的问题相同,但OP的解决方法从未被确认或接受,这就是我在此重新发布它的原因.