Установка точки останова в шаблоне T4
-
21-09-2019 - |
Вопрос
Я пытаюсь отладить выполнение шаблона T4 в Visual Studio 2008.
Вся информация, которую я нахожу при отладке шаблонов T4 в Visual Studio 2008, говорит, что вы можете установить точку останова (красная точка) в шаблоне, как если бы это был обычный кодовый файл. У меня установлен кодовой маркер Clarius T4, поэтому мой шаблон T4 окрашен, но Я не могу установить точку останова. Когда я нажимаю по краю, ничего не происходит.
Я попробовал Debugger.break (), и он запускает новый экземпляр VS.Net, но он не может загрузить код из моего шаблона. Я получаю диалог, в котором говорится, что «нет исходного кода для текущего местоположения». Это произойдет, если у меня тот же проект загружен в другой экземпляр, если я раскручиваю новый экземпляр.
Что дает?
Решение 3
ОК- понял это. Запуск нового экземпляра не является вариантом, независимо от того, что Статья Олега говорит (Нет г -на Сиха, его блог - Евангелие для генерации кода T4!)
- Начать второй экземпляр Visual Studio,
- Откройте файл (любой файл), поэтому отображается меню отладки.
- Выберите «Прикрепить к процессу ...» и выберите другой экземпляр vs.net
- Сохраните свой шаблон в прикрепленном экземпляре vs.net (или щелкните правой кнопкой мыши и выберите «Запустить пользовательский инструмент»)
Вуаля.
Другие советы
Установите следующее:
<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>
Тогда в вашем шаблоне
Debugger.Launch();
VS начнет отладчик JIT в новом случае VS 2010
В Visual Studio 2013:
- Установите точку останова в файле .tt
- Щелкните правой кнопкой мыши файл .tt в исследователе решения
- Выберите «Шаблон отладки T4»
- Сделанный!
Не нужно прикреплять второй экземпляр Visual Studio.
Убедитесь, что вы включите вариант отладки в директиве шаблона:
<#@ template language = "c#" debug = "true"#>
Это делает T4 сохранять исходный код и файлы символов, необходимые для отладки в Visual Studio.