Получить проект или относительный каталог с T4

Как я могу получить ссылку на каталог проекта или решения Visual Studio или каталог шаблона t4 из шаблона t4?

У меня есть шаблон, который объединяет вместе несколько файлов, расположенных относительно шаблона. Мне нужно получить ссылку на абсолютное местоположение с помощью относительных средств. Жесткое кодирование абсолютного пути неприемлемо, потому что проект Visual Studio не всегда будет находиться в одном и том же месте, и это нарушит генерацию кода. Чтение текущего рабочего каталога из среды также не работает, потому что это возвращает местоположение механизма T4, а не шаблон. Я как раз подхожу к t4, поэтому я буду благодарен за любую помощь.


person Blake Taylor    schedule 29.08.2009    source источник


Ответы (2)


См. Раздел Параметры хоста ЗДЕСЬ.

Этот фрагмент показывает, как получить полный путь к src относительно шаблона.

<#@ template hostspecific="true" #>
// The location of the src folder relative to the t4 template:
// <#= Host.ResolvePath("src") #>
person Blake Taylor    schedule 30.08.2009

Вы также можете схватить этот путь

<#@ template hostspecific="true" #>
<#= Path.GetDirectoryName(this.Host.TemplateFile) #>
person johnny 5    schedule 25.03.2017
comment
также необходимо импортировать пространство имен Path: <#@ import namespace="System.IO" #> - person Shahryar Saljoughi; 09.05.2020