T4を使用してプロジェクトの画面と中間層コードを生成していますが、Linqを使用してテンプレートコードの一部を簡略化したいと考えています。ただし、Linqを使用しようとすると、テンプレートで構文エラーが報告されます。
Visual Studio 2008のデフォルト(およびほとんどのオンライン例で使用されている)では、テンプレートは、Linqを含まない2.0フレームワークでコンパイルされます。 ( MSDNフォーラムスレッド を参照)
この問題を解決するには、次の3つの手順が必要です。
テンプレートは次のようになります。
<#@ template language="C#v3.5" #>
<#@ Assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
これで、Linqおよびその他の新しい言語機能をテンプレートで使用できます。