如何从多个XSD模式文件中生成C#类是最佳方式?
一些XSD模式文件可能与其他模式有依赖关系,我正在尝试避免生成重复的C#类。
使用XSD.EXE程序,但在同一命令行上传递所有模式。
例如:
> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd
将会生成一个名为:
qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs
在这个案例中,这些是Quickbooks Desktop SDK xsd文件,并且最终的文件依赖于前三个文件中的类型。它本身不会发出,但是与其依赖项一起使用时可以按预期工作。/parameters:<file>
开关,允许您指定一个命令行参数文件。我记得在一个类似的项目中使用它。
XSD.EXE文档有参数格式。我个人认为MSDN文档中的示例有些不足。以下是一个参数文件示例,用于解决codemeit所描述的问题:
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='CS' namespace='Namespace.subnamespace'>
<schema>FirstSchema.xsd</schema>
<schema>AnotherSchema.xsd</schema>
<schema>LastSchema.xsd</schema>
</generateClasses>
</xsd>