从XSD生成DataContract

Dav*_*veo 26 .net wcf xsd datacontract

我希望能够DataContract从XSD文件生成一个,最好使用xsd.exe工具.什么是自动生成[DataContract][DataMember]我的每个项目最简单的方法?

还是有更好的方法?我试图避免每次更改和重新生成XSD文件时重新创建数据协定.

mar*_*c_s 44

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
Run Code Online (Sandbox Code Playgroud)

这将在您的目录中使用相同的基本名称生成*.cs文件.

根据我的经验,svcutil.exe对于它的XML结构非常挑剔 - 所以如果它因大量警告和/或错误而咆哮,请不要感到惊讶.


zah*_*has 12

使用svcutil.exe而不是xsd.exe

如何使用 ?转到"开始"菜单 - >"Microsoft Visual Studio 2008" - >"Visual Studio工具" - >"Visual Studio 2008命令提示符"

并更改您想要的directoy或将目录更改为您的xsd在那里.

svcutil.exe /help 
Run Code Online (Sandbox Code Playgroud)

它将列出所有选项.

我用来生成数据contarct的选项之一是

svcutil.exe /target:code /n:*,[Your Company and Department].Common.DataTransferObjects /dataContractOnly /serializer:auto /importXmlTypes common.xsd /out:common.cs
Run Code Online (Sandbox Code Playgroud)

保持编码hava美好的一天!