Вопрос

Я пытаюсь отладить выполнение шаблона T4 в Visual Studio 2008.

Вся информация, которую я нахожу при отладке шаблонов T4 в Visual Studio 2008, говорит, что вы можете установить точку останова (красная точка) в шаблоне, как если бы это был обычный кодовый файл. У меня установлен кодовой маркер Clarius T4, поэтому мой шаблон T4 окрашен, но Я не могу установить точку останова. Когда я нажимаю по краю, ничего не происходит.

Я попробовал Debugger.break (), и он запускает новый экземпляр VS.Net, но он не может загрузить код из моего шаблона. Я получаю диалог, в котором говорится, что «нет исходного кода для текущего местоположения». Это произойдет, если у меня тот же проект загружен в другой экземпляр, если я раскручиваю новый экземпляр.

Что дает?

Это было полезно?

Решение 3

ОК- понял это. Запуск нового экземпляра не является вариантом, независимо от того, что Статья Олега говорит (Нет г -на Сиха, его блог - Евангелие для генерации кода T4!)

  1. Начать второй экземпляр Visual Studio,
  2. Откройте файл (любой файл), поэтому отображается меню отладки.
  3. Выберите «Прикрепить к процессу ...» и выберите другой экземпляр vs.net
  4. Сохраните свой шаблон в прикрепленном экземпляре vs.net (или щелкните правой кнопкой мыши и выберите «Запустить пользовательский инструмент»)

Вуаля.

Другие советы

Установите следующее:

<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>

Тогда в вашем шаблоне

Debugger.Launch();

VS начнет отладчик JIT в новом случае VS 2010

В Visual Studio 2013:

  1. Установите точку останова в файле .tt
  2. Щелкните правой кнопкой мыши файл .tt в исследователе решения
  3. Выберите «Шаблон отладки T4»
  4. Сделанный!

Не нужно прикреплять второй экземпляр Visual Studio.

Убедитесь, что вы включите вариант отладки в директиве шаблона:

<#@ template language = "c#" debug = "true"#>

Это делает T4 сохранять исходный код и файлы символов, необходимые для отладки в Visual Studio.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top