Выяснение каталога проектов по шаблонам T4 - PullRequest
15 голосов
/ 18 января 2010

Я использую шаблоны T4 в Visual Studio для генерации кода и пытаюсь ссылаться на локальный XML-файл из кода шаблона, чтобы я мог проанализировать его для метаданных о модели данных приложения.

Когда код шаблона (который запускается во время компиляции или когда вы запускаете «Выполнить пользовательский инструмент» на шаблоне) пытается получить текущий путь через Environment.CurrentDirectory, я получаю это:

c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE

Я действительно пытаюсь найти путь к самому шаблону внутри проекта, чтобы я мог использовать относительный путь, чтобы найти XML-файл, который его управляет. Есть идеи?

Ответы [ 2 ]

15 голосов
/ 18 января 2010

Я нашел ответ:

Path.GetDirectoryName (Host.TemplateFile)

4 голосов
/ 26 января 2010

Другой (возможно, немного более быстрый) способ сделать это - Host.ResolvePath (localFilePath).

...