2011-02-28 8 views
0

私はプロジェクトのT4テンプレートからファイルを生成する方法を見つけようとしてきました。ワンタイムジェネレーションt4テンプレートを作成する

私の目標は、以下のとおりです。

  1. テンプレート
  2. の作成には、どこかでそれを含める(私がどこかわからない)
  3. 「テンプレートから新しいファイル」を行い
  4. 新しい.csファイルを生成します私のプロジェクトのテンプレート結果からのファイル

あなたが私を導くことができるか、それをやっているチュートリアルを共有すれば、私はとても幸せになるでしょう!

答えて

0

Here MicrosoftのT4のドキュメントがあります。しかし、T4に対するマイクロソフトのサポートは全体的なものではなく、サードパーティのT4エディタに依存してテンプレートを作成することに依存していることに注意する必要があります。 Tangibleなどです。

+0

あなたの答えをありがとう。私はすでにこの場所をたくさん読んで、Tangibleをインストールしました。私は私のプロジェクトに.ttファイルを持たずにT4テンプレートを使ってファイルを生成する方法を見つけようとしています。あなたが私にそれを行う方法を示す直接の場所に向けることができれば、私は最も感謝しています。 –

0

Steve SandersonのNuGetには、この種のことをするT4Scaffoldingという素晴らしいパッケージがあります。それはあなたのために動作しない場合は、あなたがあなた自身をロールバックすることができます

http://nuget.org/packages/T4Scaffolding/


これを行うには、Visual StudioのアイテムテンプレートからT4のサービスAPIを使用します。

これは、IWizardインターフェイスを実装している小さなCOMコンポーネントを構築することで実現できます。ここで

は、インターフェイスのドキュメントです: http://msdn.microsoft.com/en-us/library/ms233750(v=VS.100).aspx

はここIWizard(ないT4 1)を作成する例を示します http://blogs.conatural.com/2009/01/how-to-write-a-vs-2008-item-template-and-wizard-for-conatural-data-commands/comment-page-1/

ここでは、T4を実行するためにあなたのウィザードから呼び出すことができT4サービス・インターフェースがあります任意のファイルに:http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.texttemplating.vshost.itexttemplating.aspx

これのホールドを取得するために任意の便利なサービスプロバイダに次のコードを使用します。

GetService(typeof(STextTemplating)) as ITextTemplating