我有一个3层t4模板继承的结构,我用它来生成配置。目标是生成web.configs
Global.tt (将添加到每个配置文件中):
<customErrors mode="<#= CustomErrors#>
<#+ string CustomErrors = "On"; #> // Set a default value ✓
EnvironmentSpecific.TT 可以覆盖此值:
<#@include file="..\Global.tt" #>
<# CustomErrors = "Off"; #> //Override the default value ✓
到目前为止,一切正常
ServerSpecific.TT
<#@include file="..\EnvironmentSpecific.tt" #>
<# CustomErrors = "On"; #> // Does not override ✕
问题: ServerSpecific.config将关闭CustomErrors,因为它不会覆盖父级中定义的变量。
如果我只想覆盖1个服务器的这个值而不触及其余的环境,我现在唯一的解决方案是从EnvironmentSpecific.TT中删除覆盖(CustomErrors =“On”)并添加它(CustomErrors =“Off / On”)到所有20 ServerSpecific.TT
非常令人沮丧,感觉应该有一个简单的解决方案