2011-07-14 8 views
12

私たちはVS 2010に転送したばかりのT4テンプレートのセットを持っていますが、それらはコンパイルされますが、もはや同じように動作しません。.Net T4が生成するコード(出力ではない)をどのように表示しますか?

実際に起こっていることを確認するには、のT4が実際のT4変換を生成するために生成する一時的なcsファイルを確認すると便利です。

答えて

7

Visual Studio 2010を使用しているので、テンプレートのカスタムツールをTextTemplatingFileGeneratorからTextTemplatingFilePreprocessorに一時的に変更することもできます。

これは、通常のテンプレート出力ではなく、プロジェクトに直接基礎となるコードを吐き出します。

+0

+1 +正しい:それは私の投票に勝る利便性のためです。これは、.configがあったところで.cs rightを生成します。クール!どうもありがとう。 –

+0

ソースコントロールを使用しているすべての人に警告する言葉T4ツールを変更すると、前の出力ファイルに削除のマークが付けられます。 –

+0

+1 'EF.Utility.CS.ttinclude'をクラスを含むアセンブリにコンパイルするために使用します。 – Lukazoid

0

私はあなたが望むものをどうやって行うのかわかりませんが、Visual Studioのt4コードをどのように進めるかを知っています。あなたは、ビジュアルスタジオの2番目のインスタンスを開始し、最初のインスタンスにアタッチするために、デバッグ - >アタッチを使用してそれをアタッチする必要があります。これにより、2つ目のインスタンスのT4ファイルにブレークポイントを入れることができます。停止すると、そのステップを進んで何が起こっているのかを確認できます。

編集:

あなたはT4をやってする必要がではなく、これが機能するためのコマンドラインツールのVisual Studioで変換します。 .ttファイルをプロジェクトに配置し、プロパティの「カスタムツール」を「TextTemplatingFileGenerator」に設定します。ファイルを保存するように指示するたびに、またはファイルを右クリックして「Run Custom Tool」と発声すると、ファイルが生成されます。詳細は、this MSDN articleを参照してください。

tangible T4 editor無料版では、コードの強調表示とインテリセンスを必要なユースケースの約90%に追加することをお勧めします(.NETフレームワーク用のCore.dllの関数用にのみ追加しています)。有料バージョンは、すべての接続されたアセンブリにインテリセンスを追加します。

Edit2:あなたが本当に使用している一時的なcsファイルが必要な場合は、一時フォルダのcsファイルがデバッガにロードされているのを見ることができます。

+0

私はコマンドラインオプションについて、誤解を招くようなものを削除しました(私たちはDev Studioで動作しています)。 Dev Studioの2番目のコピーからのブレークポイントは機能しませんでした。 VS-2010-copy-1に接続した後、VS-2010-copy-2のttファイルにブレークポイントが表示されます。「ブレークポイントは現在ヒットしません。より多くの情報を提供できますか? –

+0

私はこれまで他のアドインと競合してきた有形T4エディタを試していましたが、アンロードする必要がありました。基本的なテキスト検索オプションはもはや利用できませんでした。 –

+0

@HiTech Magic、私はセットアップに目を通しますが、時間があるまでに数時間かかることがあります。今夜チェックしてください。 –

5

あなたは

<#@ template debug="true"#> 

を設定した場合、生成されたコードは、一時ディレクトリに残されます。私のWindows 7システムでは、それはC:\Users\John Saunders\AppData\Local\Tempです。

+0

私がいるクライアントは、すべてのマシンでWindows Server 2003を実行しています。ファイルがどこにあるのか、名前が付けられているのか、私は見つけることができますか? –

+1

彼らはランダムな名前を持っています。たぶんC:\ Tempか%TEMP%環境変数の値を見てください。 –

+0

%TEMP%が適切な場所にありました。あなたのソリューションは治療を受け、私は今、それが何を生成しているかを見ることができます。どうもありがとう。 –

関連する問題