2013-03-14 16 views

答えて

6

hostspecificが "true"に設定されたテンプレートは、(MSDN)のメンバーthis.Hostにアクセスできます。たとえば、そのメソッドの "ResolvePath"は、テンプレートに入力するために必要なファイルを見つけるために使用します。

これは、カスタムテンプレートエンジンを使用するとさらに便利です。ここ 参照オレグさんのブログ:http://www.olegsych.com/2008/02/t4-template-directive/

+0

'Olegsych'リンクはもう有効ではありません – Tatranskymedved

4

HostSpecificフラグが設定されると、あなたは「this.Host」プロパティを使用することができ、タイプITextTemplatingEngineHostであり、あなたが他のものの間で、ファイルパスの解決を行うことができます。

Visual Studioでは、ビルド時やコマンドラインからは使用できませんが、ホストをIServiceProviderにキャストして、Visual Studioのグ​​ローバルサービスプロバイダに接続することもできます。

これにより、Visual StudioのAPIを使用して、テンプレートのデータを検索したり、含まれているプロジェクトを操作したり、同様の操作を行うことができます。

これは、CodeModel(またはまもなくRoslyn)を使用してプロジェクトのライブソースコードを解析し、それを生成メタデータのソースとして使用することを可能にします。

関連する問題