Dot-Net

從 XSD 生成 DataContract

  • February 3, 2010

我希望能夠DataContract從 XSD 文件生成一個,最好使用xsd.exe 工具。它在我的每個項目上自動生成[DataContract]and的最簡單方法是什麼?[DataMember]

還是有更好的方法?我試圖避免每次更改和重新生成 XSD 文件時都必須重新創建數據合同。

xsd.exe工具早於 WCF 並且不知道任何關於[DataContract][DataMember]. 如果確實使用xsd.exe,則必須將 WCF 切換為使用XmlSerializer代替其預設值DataContractSerializer來序列化數據協定。

WCF 的等價物xsd.exesvcutil.exe- 它有一個參數/dconly,它只從給定的 XSD 文件創建數據協定。這將為您生成一個 C# 或 VB.NET 文件,其中包含經過良好註釋的數據協定。

用法:

svcutil.exe (name of your XSD).xsd /dconly

這將在您的目錄中生成一個具有相同基本名稱的 *.cs 文件。

根據我的經驗,svcutil.exe它對它的 XML 結構非常挑剔——所以如果它向你發出大量警告和/或錯誤,請不要感到驚訝。

引用自:https://stackoverflow.com/questions/2188909