0

我的 WSDL 文件很少(将来我会不定期地获得更多),内联 XSD 和许多共享 XSD 类型(在每个 WSDL 中重复)。我需要想出一个流程,如何处理这些 WSDL 并尽可能少地重用生成的类。我正在考虑的最简单的解决方案是将每个类生成到单独的文件中,这将确保不同的类。

我已经使用重用选项尝试了 svcutil.exe,但它似乎不适用于我的情况。继承也有问题(XmlIncludeAttribute 用于序列化) - 每个 WSDL 只包含整个继承层次结构的一部分。

所以看起来我需要获取我目前拥有的所有 WSDL,从中提取 XSD,将这些 XSD 合并到一个大 XSD 中,并从这个合并的 XSD 文件生成 C# 类。

这类问题有什么行之有效的解决方案吗?我会很感激任何tips'n'tricks..

4

1 回答 1

0

我们遇到过类似的问题,svcutil 生成了一个非常大的 CS 文件,其中包含所有类。

我们使用 Resharper 将文件拆分为单独的类文件。

svcutil 重用选项仅适用于 xsd 中的类具有 dll 的情况。

你可以这样做:

  • 将每个 wsdl 放在自己的目录中
  • 在每个上运行 svcutil
  • 使用 resharper 拆分文件
  • 将所有文件复制到单个目录,并跳过具有重复名称的文件
于 2012-08-25T20:44:26.530 回答