我有很少的WSDL文件(我将来会不定期地使用它们),带有许多共享XSD类型的内联XSD(在每个WSDL中重复)。我需要考虑一个过程如何处理这些WSDL并重用生成的类,尽可能少的手动工作。我正在考虑的最简单的解决方案是将每个类生成为单独的文件,这将确保不同的类。
我已经尝试过使用重用选项的svcutil.exe,但它在我的情况下似乎不起作用。继承存在问题(XmlIncludeAttribute用于序列化) - 每个WSDL只包含整个继承层次结构的一部分。
所以看起来我需要获取我目前拥有的所有WSDL,从中提取XSD,将这些XSD合并到一个大的XSD中,并从这个合并的XSD文件中生成C#类。
这种问题有没有经过验证的解决方案?我很感激任何提示'n'tricks ..
答案 0 :(得分:0)
我们遇到了类似的问题,svcutil生成了一个包含所有类的非常大的CS文件。
我们使用Resharper将文件拆分为单独的类文件。
只有在xsd中包含类的dll时,svcutil重用选项才有效。
你可以这样做: