Ответ 1
Другой (возможно, немного более быстрый) способ сделать это - Host.ResolvePath(localFilePath).
Я использую шаблоны T4 в Visual Studio для генерации кода и пытаюсь ссылаться на локальный XML файл из кода шаблона, чтобы я мог его проанализировать для метаданных о модели данных приложения.
Когда код шаблона (который выполняется во время компиляции или когда вы запускаете "Выполнять пользовательский инструмент" в шаблоне) пытается получить текущий путь через среду Environment.CurrentDirectory, я получаю следующее:
c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
Я действительно пытаюсь найти путь к самому шаблону в рамках проекта, чтобы использовать относительный путь для поиска XML файла, который его ведет. Любые идеи?
Другой (возможно, немного более быстрый) способ сделать это - Host.ResolvePath(localFilePath).
Я нашел ответ:
Path.GetDirectoryName(Host.TemplateFile)