Отладка шаблона T4 в VS 2010 Сбои IDE - PullRequest
16 голосов
/ 31 мая 2010

Я пытаюсь отладить слегка измененную версию ADO.NET POCO Entity Generator шаблона, используя указания Олег Сыч опубликовал несколько лет назад. Я изменил ключ DbgJITDebugLaunchSetting , как рекомендовано.

Я получаю диалоговое окно, указывающее, что заданная пользователем точка останова была достигнута. Однако вместо предоставления возможности отладки с новым экземпляром VS 2010 исходный экземпляр VS 2010 просто аварийно завершает работу и автоматически перезапускается.

Можно ли отлаживать шаблоны T4 в VS 2010?

Ответы [ 5 ]

15 голосов
/ 01 июня 2010

в Visual Studio 2010 необходимо вызвать Debugger.Launch () перед Debugger.Break ().

7 голосов
/ 05 января 2011

Вместо использования System.Diagnostics.Debugger.Launch (); или Break (), присоединить отладчик вручную.

  1. Во втором экземпляре vs2010, откройте шаблон T4, который вы хотите отладка (только .tt файл в порядке)
  2. Перейдите в Debug -> Attach to Process и найдите оригинальный файл devenv.exe. процесс
  3. Добавить обычную точку останова (красный шар) на место, которое вы хотите начать отладку (во втором vs2010 еще)
  4. Перейти к оригиналу vs2010, сохраните файл .tt и ... бинго! Второй экземпляр vs2010 будет отлаживать ваш шаблон.
3 голосов
/ 29 июня 2010

Окончательное решение, которое работает для меня:

смерзаться:

Ключ (системы x86): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework

Ключ (x64 системы): HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework

значение: DbgJITDebugLaunchSetting

данные: 0x2

Шаблон tt:

<#@ template debug="true" hostSpecific="true"  #>
<# System.Diagnostics.Debugger.Launch(); System.Diagnostics.Debugger.Break(); #>
2 голосов
/ 02 июня 2010

Вам также нужно debug = true:

<@ # template debug = "true" #> System.Diagnostics.Debugger.Launch ();Debugger.Break ();

http://msdn.microsoft.com/en-us/library/bb126338.aspx

1 голос
/ 11 февраля 2011

Чтобы добавить решение andrecarlucci, если вы сохраните файл, вам будет предложено перезагрузить его во втором экземпляре Visual Studio, прежде чем вы сможете отладить его. Если вам не нужно вносить дальнейшие изменения, но нужно отлаживать их несколько раз, вам не нужно каждый раз сохранять данные, чтобы взломать код. Вы можете просто нажать кнопку «Преобразовать все шаблоны» на панели инструментов Solution Explorer в исходном экземпляре Visual Studio.

...