Есть ли способ контролировать выходное имя файла из xsd.exe?xsd.exe output filename
Моя особая проблема заключается в том, что если импортированный xsd указан, это добавляется к имени файла.
Есть ли способ контролировать выходное имя файла из xsd.exe?xsd.exe output filename
Моя особая проблема заключается в том, что если импортированный xsd указан, это добавляется к имени файла.
This link предлагает другую альтернативу ... используя символ пути в определении входных схем сбрасывает имя генерируемого файла. Поэтому, если вы используете следующее, вы сможете контролировать свое имя выходного файла.
xsd.exe schema1.xsd schema2.xsd .\schema3.xsd
Заставляет xsd.exe
для создания файла schema3.cs
.
Примечание: Это взлом, но до сих пор (VS 2010) он работает.
xsd.exe автоматически выберет имя выхода файла на основе имени входного файла. Вы можете выбрать только тот каталог, который будет выводить его, с помощью переключателя/o.
Сказанное: тривиально обернуть это в пакетную работу, которая будет делать то, что вы хотите.
rename output.cs yourname.cs
Чтобы добавить к ответу AxelEckenberger, есть небольшое улучшение в хаке, если вы делаете это регулярно (например, в пакетном скрипте). Создайте пустой файл схемы с именем вывода, который вы хотите использовать
Output.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" />
Тогда вам не нужно переименовать выходного
xsd.exe schema1.xsd schema2.xsd schema3.xsd .\Output.xsd
Теперь выходной файл будет называться Output.cs
.
+1, Именно то, что мне нужно! (работает даже в тех случаях, когда схемы указаны в файле параметров) – Regent
Имейте в виду, что «. \» должен использоваться в последнем файле. При необходимости измените порядок имен ваших входных файлов в команде. – Marcel
Просто красиво! – pvieira