30

有没有办法控制 xsd.exe 的输出文件名?

我的具体问题是,如果引用了导入的 xsd,则会将其添加到文件名中。

4

4 回答 4

52

该链接提出了另一种选择……在指定输入模式时使用路径字符会重置生成的文件名。因此,如果您使用以下内容,您将能够控制您的输出文件名。

xsd.exe schema1.xsd schema2.xsd .\schema3.xsd

将强制xsd.exe生成schema3.cs文件。

注意:这是一个 hack,但到目前为止(VS 2010)它可以工作。

于 2010-07-05T08:12:59.513 回答
14

要添加到 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.

于 2015-11-25T01:07:27.390 回答
11

xsd.exe 将根据输入文件名自动选择文件的输出名称。您只能使用 /o 开关选择将其输出到的目录。

也就是说,将它包装在批处理作业中是微不足道的,这会做你想要的。

rename output.cs yourname.cs
于 2009-05-25T10:29:22.477 回答
7

更新:请参阅@Obalix 的回答。

不,只有输出文件夹:

/o[ut]:directoryName

这里

于 2009-05-25T10:22:58.543 回答