Получить проект или относительный каталог с T4 - PullRequest
47 голосов
/ 30 августа 2009

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

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

Ответы [ 2 ]

88 голосов
/ 30 августа 2009

См. Специфичный для хоста параметр раздел ЗДЕСЬ .

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

<#@ template hostspecific="true" #>
// The location of the src folder relative to the t4 template:
// <#= Host.ResolvePath("src") #>
2 голосов
/ 25 марта 2017

Вы можете взять путь, как это, а также

<#@ template hostspecific="true" #>
<#= Path.GetDirectoryName(this.Host.TemplateFile) #>
...