2012-08-24 37 views
0

我有很少的WSDL文件(並且我將在不規則的將來獲取更多這些文件),內置XSD和許多共享的XSD類型(在每個WSDL中重複)。我需要考慮如何處理這些WSDL並通過儘可能少的手動工作來重用生成的類。我正在考慮的最簡單的解決方案將生成每個類到單獨的文件,這將確保不同的類。使用內聯XSD爲多個WSDL文件生成WCF類,並重用類

我已經嘗試使用svcutil.exe重用選項,但它似乎並沒有在我的情況下工作。還有繼承問題(用於序列化的XmlIncludeAttribute) - 每個WSDL都只包含整個繼承層次結構的一部分。

因此,它看起來像我需要採取我現在擁有的所有WSDL,將XSD從它們中提取出來,將這些XSD合併爲一個大的XSD並從此合併的XSD文件生成C#類。

這種問題有沒有經過驗證的解決方案?我會很感激任何tips'n'tricks ..

回答

0

我們有類似的問題,svcutil產生一個非常大的CS文件,其中的所有類。

我們使用Resharper將文件分成單獨的類文件。

svcutil重用選項只適用於如果你有與xsd中的類的DLL。

你可以做這樣的:

  • 將每個WSDL在自己的目錄
  • 運行SvcUtil工具上的每個
  • 使用ReSharper的所有文件分割的文件
  • 複製到單獨的目錄,跳過帶有重複名稱的文件
+0

不幸的是,這不是可行的解決方案,因爲存在繼承層次結構問題d在我的問題中。每個WSDL只包含繼承層次結構樹的一部分,所以我需要將這些類型合併在一起...... – Buthrakaur