有没有办法控制 xsd.exe 的输出文件名?
我的具体问题是,如果引用了导入的 xsd,则会将其添加到文件名中。
该链接提出了另一种选择……在指定输入模式时使用路径字符会重置生成的文件名。因此,如果您使用以下内容,您将能够控制您的输出文件名。
xsd.exe schema1.xsd schema2.xsd .\schema3.xsd
将强制xsd.exe
生成schema3.cs
文件。
注意:这是一个 hack,但到目前为止(VS 2010)它可以工作。
要添加到 AxelEckenberger 的答案,如果您定期执行此操作(即在批处理脚本中),那么 hack 会有非常轻微的改进。使用您要使用的输出名称创建一个空模式文件
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
.
xsd.exe 将根据输入文件名自动选择文件的输出名称。您只能使用 /o 开关选择将其输出到的目录。
也就是说,将它包装在批处理作业中是微不足道的,这会做你想要的。
rename output.cs yourname.cs