Есть ли способ управлять выходным именем файла из xsd.exe?
Моя особая проблема заключается в том, что если импортированный xsd указан, это добавляется к имени файла.
Есть ли способ управлять выходным именем файла из xsd.exe?
Моя особая проблема заключается в том, что если импортированный xsd указан, это добавляется к имени файла.
Эта ссылка предлагает другую альтернативу... использование символа пути при указании входных схем сбрасывает сгенерированное имя файла. Поэтому, если вы используете следующее, вы сможете контролировать свое имя выходного файла.
xsd.exe schema1.xsd schema2.xsd .\schema3.xsd
Будет принудительно xsd.exe
сгенерировать файл schema3.cs
.
Примечание: Это взлом, но до сих пор (VS 2010) он работает.
xsd.exe автоматически выберет имя вывода файла на основе имени входного файла. Вы можете выбрать только тот каталог, который будет выводить его с помощью переключателя /o.
Тем не менее, это тривиально, чтобы обернуть это в пакетное задание, которое будет делать то, что вы хотите.
rename output.cs yourname.cs
Чтобы добавить к ответу AxelEckenberger, есть небольшое улучшение в хаке, если вы делаете это регулярно (например, в пакете script). Создайте пустой файл схемы с именем вывода, которое вы хотите использовать
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
.
Обновление: см. ответ @Obalix.
Нет. Только папка вывода:
/o[ut]:directoryName
Из здесь.