Я пытаюсь выполнить шаблон 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 работает. Я хотел бы, чтобы это открыло файл относительно моего пути проекта, потому что другие разработчики в моей команде используют различные структуры папок. Кто-либо знает - ли это что-то возможное для выполнения?
Измените параметр для конкретного хоста в директиве шаблона на «true» и вызовите Host.ResolvePath («data.xml»).