【发布时间】:2013-08-19 20:29:37
【问题描述】:
我已经为我的 web 和 windows 项目的配置文件创建了 T4 模板。我可以成功生成主 web.config,以及其他环境的所有配置,即 web.ci.config 等。但是,我无法摆脱我的主 tt 文件上的错误,例如:
- 字符“#”,十六进制值 0x23 在 XML 名称中是非法的。
- 字符“
- 意外的 XML 声明。 XML 声明必须是文档中的第一个节点,并且它之前不允许出现空白字符。
我应该缺少 xml 架构或引用,但是什么?
我的文件看起来像:
<#@ template debug="true" hostSpecific="true" #>
<#@ output extension= ".config" #>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
...
<add key="FileUploadFolder" value="<#= this.FileUpload #>" />
...
</configuration>
<#+
string FileUpload="\\\\server\\folder";
#>
这里是screenshot
【问题讨论】:
-
我认为问题可能是 .tt 文件被解析为 XML,并且被您的 XML 内容弄糊涂了。出于兴趣 - 如果将
output extension设置为.xml会发生什么? -
是的,可能但是我在网上看到的所有示例截图都没有错误[红色下划线]。当我设置为
.xml时,它会创建与.config输出完全相同的 [和预期的] 文档。 -
似乎是 Visual Studio 2012 T4 templates generating XML gives error 的副本,它有一个可接受的答案。
标签: .net xml config t4 transformation