Ответ 1
ОК - понял. Запуск нового экземпляра не является вариантом, независимо от того, что говорит Сохраните шаблон в прикрепленном экземпляре VS.NET(или щелкните правой кнопкой мыши и выберите "Запустить пользовательский инструмент" ).
Я пытаюсь отладить выполнение шаблона T4 в Visual Studio 2008.
Вся информация, которую я нахожу при отладке шаблонов T4 в Visual Studio 2008, говорит, что вы можете установить точку останова (красную точку) в шаблоне, как если бы это был обычный файл кода. У меня установлен маркер Clarius T4, поэтому мой шаблон T4 окрашен, но я не могу установить точку останова. Когда я нажимаю на поле, ничего не происходит.
Я пробовал Debugger.Break(), и он запускает новый экземпляр VS.NET, но он не может загрузить код из моего шаблона. Я получаю диалог, в котором говорится: "Нет исходного кода для текущего местоположения". Это происходит, если у меня есть тот же проект, загруженный в другой экземпляр, если я создаю новый экземпляр.
Что дает?
ОК - понял. Запуск нового экземпляра не является вариантом, независимо от того, что говорит Сохраните шаблон в прикрепленном экземпляре VS.NET(или щелкните правой кнопкой мыши и выберите "Запустить пользовательский инструмент" ).
Задайте следующее:
<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>
Затем в вашем шаблоне
Debugger.Launch();
VS начнет отладчик JIT в новом экземпляре VS 2010
В Visual Studio 2013:
Нет привязки второго экземпляра Visual Studio.
Убедитесь, что вы включили опцию debug в директиве шаблона:
< # @template language = "С#" debug = "true" # >
Это позволяет T4 сохранять исходный код и файлы символов, необходимые для отладки в Visual Studio.