T4テンプレートでブレークポイントを設定します
-
21-09-2019 - |
質問
Visual Studio 2008でT4テンプレートの実行をデバッグしようとしています。
Visual Studio 2008のT4テンプレートのデバッグで見つけているすべての情報は、テンプレートにブレークポイント(赤い点)を通常のコードファイルであるかのように設定できると言っています。 Clarius T4コードハイライターがインストールされているので、T4テンプレートは色付けされていますが、 ブレークポイントを設定できません。 マージンをクリックすると、何も起こりません。
debugger.break()を試してみましたが、vs.netの新しいインスタンスを起動しますが、テンプレートからコードを読み込むことはできません。 「現在の場所にはソースコードがありません」というダイアログがあります。これは、新しいインスタンスをスピンアップした場合の別のインスタンスに同じプロジェクトがロードされた場合に発生します。
何が与えるのですか?
解決 3
OK-それを理解しました。新しいインスタンスを起動することは、何に関係なくオプションではありません オレグの記事 言う。 (Sych氏へのDissはありません、彼のブログはT4コード生成の福音です!)
- ビジュアルスタジオの2番目のインスタンスを開始し、
- ファイル(任意のファイル)を開き、デバッグメニューが表示されます。
- 「プロセスへの添付...」を選択し、他のvs.netインスタンスを選択します
- vs.netの添付インスタンスにテンプレートを保存します(または右クリックして[実行]ツールを選択して選択します)
出来上がり。
他のヒント
以下を設定します。
<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>
次に、テンプレートで
Debugger.Launch();
VSは、2010年の新しいインスタンスでJITデバッガーをキックオフします
Visual Studio 2013:
- .ttファイルにブレークポイントを設定します
- ソリューションエクスプローラーの.ttファイルを右クリックします
- 「デバッグT4テンプレート」を選択します
- 終わり!
Visual Studioの2番目のインスタンスを必要とする必要はありません。
テンプレートディレクティブのデバッグオプションをオンにすることを確認してください。
<#@ template言語= "c#" debug = "true"#>
これにより、T4はVisual Studioでのデバッグに必要なソースコードとシンボルファイルを保存します。