2010-05-31 3 views
16

Я пытаюсь отладить слегка модифицированную версию ADO.NET POCO Entity Generator шаблон по указателям Oleg Sych published несколько лет назад. Я порекомендовал ключ DbgJITDebugLaunchSetting.Отладка шаблона T4 в VS 2010 сбой IDE

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

Можно ли отлаживать шаблоны T4 с помощью VS 2010?

ответ

15

В Visual Studio 2010 вам нужно вызвать Debugger.Launch() перед Debugger.Break().

+0

Это сделал это так далеко, как запуск нового экземпляра отладчика, но теперь я не получаю Источник Доступные для размещения стека вызовов: * 13gocwvx Microsoft.VisualStudio.TextTemplating9936422A04D1D8AC631D9CB3A394DD16.GeneratedTextTransformation.TransformText() + 0x34 байт * Любые мысли.? –

+0

Принимая, потому что это было частично правильно, но я все еще получаю вышеуказанную ошибку. –

3

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

команду Regedit:

Key (системы x86): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework

Key (x64 систем): HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework

значение: DbgJITDebugLaunchSetting

данные: 0x2

шаблон тт:

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

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

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

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

Смежные вопросы