我正在創建一個T4模板,我希望根據某些條件有條件地包含模板。例如,我曾嘗試以下...T4有條件地包含模板
<#switch(iocContainer) {#>
<#case "Autofac":#>
<#@ include file="Autofac\EntityTemplate.ttinclude" #>
<#@ include file="Autofac\ServiceTemplate.ttinclude" #>
<#@ include file="Autofac\RepositoryTemplate.ttinclude" #>
<#@ include file="Autofac\DbContextTemplate.ttinclude" #>
<#break;#>
<#case "Castle":#>
<#@ include file="Castle\EntityTemplate.ttinclude" #>
<#@ include file="Castle\ServiceTemplate.ttinclude" #>
<#@ include file="Castle\RepositoryTemplate.ttinclude" #>
<#@ include file="Castle\DbContextTemplate.ttinclude" #>
<#break;#>
<#case "nInject":#>
<#@ include file="nInject\EntityTemplate.ttinclude" #>
<#@ include file="nInject\ServiceTemplate.ttinclude" #>
<#@ include file="nInject\RepositoryTemplate.ttinclude" #>
<#@ include file="nInject\DbContextTemplate.ttinclude" #>
<#break;
}#>
的問題是模板引擎運行時,它似乎預處理評估任何代碼之前所有的包括。所以上面的switch語句沒有運行,T4試圖包含所有的文件。
有沒有辦法有條件地包含T4模板?
好的建議。我認爲這會起作用。 –