2009-12-01 74 views
2

有沒有辦法調試tt文件?我已經安裝了SubSonic3,除了StoredProcedures.tt之外,所有模板都可以完成他們的工作。 「運行自定義工具」後它仍然爲空。在VS2008中調試tt模板

回答

3

this article將講解使用兩種:

  • JIT調試器(通過將Debugger.Break()在你的模板代碼)和
  • 手動連接到Visual Studio的過程與Visual Studio
  • 的第二個實例

第二個對Windows XP之後的系統用戶很有用:

  • Vista的
  • Server 2008的
  • Server 2008 R2的
  • ...
2

與啓動您的模板:

<#@模板調試= 「真」 ......

,並添加:

System.Diagnostics.Debugger.Break();

添加到您的模板代碼中,以打入編譯的生成器類。

+0

Thx,thx,thx將會檢查這個。 – 2009-12-03 10:54:19

+0

這會導致Visual Studio崩潰。至少它讓我崩潰。我想因爲沒有調試器連接到Visual Studio進程。我在網上發現了這一點:「請注意,如果您使用的是Windows Vista或2008 Server,則此技術(使用Debugger.Break())可能會掛起Visual Studio」。 http://www.olegsych.com/2008/09/t4-tutorial-debugging-code-generation-files/ – 2009-12-11 08:39:02

+0

我使用的是VS2010 Beta 2,它不會崩潰。 查看視頻:http://channel9.msdn.com/posts/VSIPMarketing/VSX206-Code-Generation-with-T4/ @ 25:45進行演示。 – codekaizen 2009-12-13 19:29:07

4

這裏有一個簡單的方法。

添加像這樣的行到你的T4代碼:

System.Diagnostics.Debug.WriteLine("This is a debug message."); 

下載並運行從Sysinternals的DebugView。您的調試消息將出現在輸出窗口中。

(在幕後,這些調用使用win32 OutputDebugString()。)