Как открыть файл на относительном пути с помощью T4?

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

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Xml.dll" #>
<#@ assembly name="System.Xml.Linq.dll" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Xml" #>
<#@ import namespace="System.Xml.Linq" #>
<#@ output extension=".cs" #>
namespace ConsoleApplication1
{
<# XElement fragment = XElement.Load("data.xml"); #>
...

Ошибочный список Visual Studio 2010 года показывает следующее сообщение

Рабочее преобразование: Система. IO.FileNotFoundException: не Мог найти файл 'C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\data.xml'.

Это пытается открыть файл на пути, куда инструмент пользователя TextTemplateFileGenerator работает. Я хотел бы, чтобы это открыло файл относительно моего пути проекта, потому что другие разработчики в моей команде используют различные структуры папок. Кто-либо знает - ли это что-то возможное для выполнения?

10
задан CARLOS LOTH 28 May 2010 в 19:35
поделиться

1 ответ

Измените параметр для конкретного хоста в директиве шаблона на «true» и вызовите Host.ResolvePath («data.xml»).

22
ответ дан 3 December 2019 в 17:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: