T4テンプレートでLinqを使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/247005

  •  05-07-2019
  •  | 
  •  

質問

T4を使用してプロジェクトのいくつかの画面と中間層コードを生成していますが、Linqを使用してテンプレートコードの一部を簡素化したいと考えています。ただし、Linqを使用しようとすると、テンプレートは構文エラーを報告します。

役に立ちましたか?

解決

Visual Studio 2008のデフォルトでは(およびほとんどのオンライン例で使用されているように)、テンプレートはLinqを含まない2.0フレームワークでコンパイルされます。 ( MSDNフォーラムスレッド

問題を解決するには、3つの手順が必要です。

  1. テンプレートの言語属性に、「C#v3.5」を指定します;または「VBv3.5」 -.NET 4.0が常に使用されるVS2010では、この手順は不要です。
  2. System.Core.dllのアセンブリディレクティブを追加します
  3. System.Linq名前空間をインポートします

テンプレートは次のようになります。

<#@ template language="C#v3.5" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>

テンプレートでLinqおよびその他の新しい言語機能を使用できるようになりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top