Как получить каталог проекта из T4? - PullRequest
4 голосов
/ 30 декабря 2010

Я возился с поддержкой T4 в Mono и заметил очень громоздкую вещь.Текущий каталог при запуске шаблонов T4 является домашним каталогом.Мне нужно иметь возможность прочитать несколько файлов из каталога текущего проекта, но я не знаю, как это сделать.

<#@ template language="C#v3.5" #>
<#@ output extension="txt" #>

<#=System.IO.Directory.GetCurrentDirectory() #>

приводит к

/home/earlz

, где я хочу, чтобы это выглядело как

/home/earlz/MyProject

Как мне решить эту проблему?Я пытался использовать hostpecific и Host.ResolvePath, но получил NotImplementedException

Ответы [ 2 ]

7 голосов
/ 30 декабря 2010

Хорошо, думаю, я понял это. Вы просто должны сами решить пути. Чтобы получить каталог файла шаблона (что мне достаточно), просто используйте это:

<#= System.IO.Path.GetDirectoryName(Host.TemplateFile) #>
1 голос
/ 31 декабря 2010

I исправлено ResolvePath после вашего старого вопроса вместе с тонной других улучшений . Исправление должно быть в MonoDevelop 2.6, хотя вы можете попробовать build from master .

...