我正在开发一个消耗(外部)服务的项目。
供应商提供了一大堆XSD(其中89个),我希望将它们全部转换为.Net(C#)类/类库。
我在这些上使用XSD实用程序但由于存在大量交叉引用和导入,因此它们失败并显示错误消息type 'xxxxx' not declared
现在,根据我的谷歌搜索,通过编译完整的引用"树"可以简单地克服这个问题。但是....
我考虑过创建一个类库程序集,从基本级别模式(没有导入的模式)开始,然后告诉XSD转换模式但使用此程序集中的任何引用类型......但我不确定如何甚至如果可能的话。
那么,我怎么能最好地做到这一点......欢迎任何建议。
是的,89个模式很多,不幸的是,我无法控制它,我只需要把它搞砸并处理它。
答案 0 :(得分:0)
您可以在xsd.exe中使用/P[arameters]:file.xml
option在单独的文件中指定许多参数,而不是在命令行中传递它们。
此xml的示例:
<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='CS' namespace='MyNamespace'>
<schema>FirstSchema.xsd</schema>
<schema>SecondSchema.xsd</schema>
<schema>ThirdSchema.xsd</schema>
</generateClasses>
</xsd>