C# T4模板在插入控制块时抛出错误

C# T4模板在插入控制块时抛出错误,c#,t4,C#,T4,我在文本模板文件中使用以下行 <SettingsFilePath> <#=GetParameterValue("Blah")#>\Deploy\Settings\DeploymentSetting_<#environment.Name#>_<#=workflow.Name#>.xml </SettingsFilePath> 我在VisualStudio编译TT模板时遇到以下错误 在块中发现意外的开始或结束标记。确保没有键入错误的

我在文本模板文件中使用以下行

 <SettingsFilePath>
 <#=GetParameterValue("Blah")#>\Deploy\Settings\DeploymentSetting_<#environment.Name#>_<#=workflow.Name#>.xml
 </SettingsFilePath>
我在VisualStudio编译TT模板时遇到以下错误

在块中发现意外的开始或结束标记。确保没有键入错误的开始标记或结束标记,并且模板中没有任何嵌套块


有人知道我做错了什么吗?所有
块都正确匹配

Settings之后的“\”字符为。这里的一个示例是,如果您希望字符串在T4模板的输出中生成为文本,您可以在T4模板中使用以下内容:

\<#@ directive \#>

谢谢大家。根据Aaron的建议,我使用String.format解决了这个问题

<SettingsFilePath><#=string.Format(@"{0}\Deploy\Settings\{1}\DeploymentSetting_{2}_{3}.xml",GetParameterValue("blah"),environment.Type.ToString(), environment.Name, workflow.Name)#></SettingsFilePath>      

我认为\是在逃避。尝试对所有内容使用string.Format。您有
;如果要打印,请将其更改为
<SettingsFilePath>
<#=GetParameterValue("Blah")#><#=deploySettings#><#=environment.Type.ToString()#>DeploymentSetting_<#=environment.Name#>_<#=environment.Name#>.xml
</SettingsFilePath>
string deploySettings = @"\Deploy\Settings\";
<SettingsFilePath><#=string.Format(@"{0}\Deploy\Settings\{1}\DeploymentSetting_{2}_{3}.xml",GetParameterValue("blah"),environment.Type.ToString(), environment.Name, workflow.Name)#></SettingsFilePath>