1

T4 テキスト テンプレートは、コードだけでなく、Visual Studio であらゆる種類のテキストを生成するために使用できます。

T4 に関するブログやチュートリアルを読みましたが、理解できる限り、Visual Studio はバックグラウンドでクラスを動的に構築し、そのクラスのコードをコンパイルして実行し、テキスト出力を構築します。

そのクラスのソースコードを見ることはできますか?

4

1 に答える 1

2

はい、最も簡単な方法は、ソリューション エクスプローラーでテンプレート ファイルが選択されているときに、プロパティ ウィンドウでカスタム ツールを変更することです。

デフォルトでは、「TextTemplatingFileGenerator」になります。

カスタム ツールを「TextTemplatingFilePreprocessor」に変更すると、プロジェクトに生成されたテンプレート出力ではなく、基になるテンプレート クラスが取得されます。

正確には、このコードは内部で実行されるコードと完全に同じではありませんが、非常に近いものになります。

完全に正確なコードが必要な場合は、カスタム ツールをそのままにしておく必要がありますが、<#@ template #> ディレクティブに debug="true" フラグを設定してください。これにより、生成されたコードが、%TEMP% ディレクトリ内のランダムな名前の '.cs' または 'vb' ファイルに残ります。ディレクトリを時間でソートするだけで、一番上に表示されるはずです。

于 2012-11-29T22:41:34.797 に答える