いくつかの基準に基づいて条件付きでテンプレートを含めたい 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 テンプレートを含める方法はありますか?