t4 "VisualStudioHelper" не найден
Я пытаюсь провести некоторые эксперименты с генерацией кода из проектов VS2012, но я не могу заставить этот кусок кода t4 работать
var project = VisualStudioHelper.CurrentProject;
поскольку VisualStudioHelper не может быть найден.
Что я должен установить / включить в свой t4, чтобы сделать VisualStudioHelper доступным?
3 ответа
VisualStudioHelper - это пользовательский класс из Tangible T4 Editor.
Чтобы использовать этот класс, установите Tangible T4 Editor для Visual Studio, а затем:
- Откройте меню Tangible T4 в Visual Studio и выберите "Галерея шаблонов".
- Нажмите значок "Обновить сейчас" в левом нижнем углу.
- Выберите из дерева каталогов: Tangible> Visual Studio CodeModel.
- В меню "Файлы" щелкните правой кнопкой мыши на "Обход модели кода Visual Studio" и выберите "Добавить в решение..."
- Выберите "VisualStudioHelper.ttinclude".
- В вашем файле.tt обратитесь к VisualStudioHelper следующим образом:
<#@ include file="VisualStudioHelper.ttinclude" #>
Я знаю VisualStudioHelper
от осязаемого редактора T4. Это бесплатно и поставляется с галереей шаблонов, предоставляющей полезные шаблоны T4, которые вы можете включить в свои, например, для доступа к функциональности Visual Studio или конфигурации проекта и т. Д.
Может, тебе стоит взглянуть туда?
Изменить: шаблон, который вы должны искать в галерее, называется "ощутимый помощник по автоматизации Visual Studio"
Что такое VisualStudioHelper
? Кажется, это обычная вещь, а не то, что встроено в шаблонизатор T4. Если вам нужен доступ к текущему проекту, вы можете попробовать это:
var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE));
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject;
Не забудьте импортировать сборку вверху шаблона T4:
<#@ assembly name="EnvDTE" #>