Выполнить XSLT-преобразование как шаг сборки - PullRequest
17 голосов
/ 06 августа 2011

Во время сборки Visual Studio мне нужно иметь файл XML, сгенерированный из другого файла XML. Для меня очевидно, что шаблон XSLT и преобразование - это именно то, что мне нужно.

Для этого я предпочитаю использовать свойство «Пользовательский инструмент», найденное в файлах проекта. Есть ли уже встроенный инструмент, который я могу использовать для этой цели? Моим следующим вариантом может быть использование шага предварительной сборки csproj. Опять же, есть ли (Visual Studio или MSBUILD) предсуществующий или предустановленный инструмент, который я могу вызвать на шаге перед сборкой, чтобы сделать это?

Наконец, при необходимости, я мог бы изменить сам файл .csproj, чтобы добавить задачу MSbuild, которая выполняет преобразование (я думаю, MSBuild поставляется с такой задачей - если нет, я знаю, что они доступны для загрузки).

В целом, я просто хотел бы знать, как проще всего это сделать, и как это сделать. Я уже знаю, как писать шаблоны XSL. :)

Ответы [ 2 ]

20 голосов
/ 08 августа 2011

Если вы используете VS2010, вы можете использовать встроенную задачу XslTransformation MSBuild 4 в шаге после сборки.

<Target Name="AfterBuild">
  <XslTransformation
    XslInputPath="transform.xslt"
    XmlInputPaths="in.xml"
    OutputPaths="out.xml" />
</Target>
1 голос
/ 06 августа 2011

Я лично пойду с установкой Задачи сообщества MSBuild и вызовом msbuild.exe из PostBuild Event в настройках проекта.

При мысли о файлах XSLT у меня только что пошатнулась дрожь! : P

...