我正在使用 Visual Studio 2012 从 T4 模板生成 XML。模板的顶部看起来像
<#@ template language="VBv4" hostspecific="True" debug="True" #>
<#@ output extension="wmef" #>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
T4 模板正确生成 XML。这没有问题。然而,Visual Studio 变得很困惑,它还尝试将模板本身作为 XML 进行处理,并报告构建错误,指出 XML 格式不正确,这当然是因为它是 XML 的模板,而不是实际的 XML。
当我第一次编辑 .tt 文件时,一切正常。然而,一旦生成了 XML 文件,我将其加载到编辑器中进行查看,然后返回到 .tt 文件,突然,.tt 文件的语法突出显示为看起来像 XML,然后出现构建错误。
也许这只是 m$oft 的一个错误
对这里可能发生的事情有什么想法吗?
这是VS的一个bug。您可以通过替换来解决这个问题.tt
将行归档
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
with
<# WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); #>
一旦 VS 对模板文件的 XML 格式感到困惑,即使在像上面那样进行编辑并重新启动之后,这种混乱似乎仍然存在。解决这个问题的唯一方法似乎是删除现有的.tt
从您的项目中创建文件并从头开始重新创建它。
随着这一变化,.tt
文件没有<?xml?>
标签不再存在,因此 VS 不会将其视为 XML 文件。它忽略文字字符串内的所有内容。
这似乎是同一个问题包含 XML 的 T4 模板会导致解析错误 https://stackoverflow.com/q/11293963/1380680,但解决方法从未被OP确认或接受,这就是我在这里重新发布它的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)