XSDObjectGen.exe与XSD.exe

时间:2008-11-14 05:52:55

标签: .net xsd xsd2code xsdobjectgen

有谁能告诉我XSDObjectGen.exe和XSD之间有什么区别? XSD.EXE?

有没有办法让XSDObjectGen.exe在dot net 2.0中运行?

4 个答案:

答案 0 :(得分:29)

作为替代方案,有Xsd2Code。一些功能:

  • 生成部分课程。
  • 支持通用和自定义集合(List,ObservableCollection,MyCustomCollection)。
  • 在不需要特殊获取或设置时支持自动属性。
  • 可以生成WCF属性(DataContract / DataMember)。
  • 支持nillable类型。
  • 屏蔽IDE中的私有字段(使用EditorBrowsableState.Never属性)。
  • 在构造函数中生成对象分配。
  • 实现INotifyPropertyChanged以便为wpf或Silverlight启用DataBinding。
  • 使用visual studio插件提高工作效率。
  • 从xsd注释生成摘要文档。
  • 在引发属性更改事件之前,检查new和old值int setter是否相同。
  • 在cs或vb标头中生成备份选项。
  • 将Xml文档保存并加载到silverlight应用程序的隔离文件存储中(3.0中的新增功能)。
  • 生成CS,VB或CPP代码。
  • 序列化/反序列化对象。
  • 保存到文件并从文件加载。
  • 包括Xsd2CodeCustomTool。

答案 1 :(得分:6)

区别在于:

为了给您一些想法,以下是XSDObjectGen.exe的摘要功能列表:

  • 支持最流行的XML架构
  • 重复元素的枚举器和集合行为
  • 与架构匹配的编程模型
  • 自动子类构建
  • 名称避碰
  • Visual Studio IDE集成
  • DateTime类型的特殊处理逻辑
  • 多部分架构支持
  • XML名称空间序列化
  • 可选和序列支持
  • 选择支持
  • 替换组
  • MakeSchemaCompliant方法
  • 非可选参考类型处理
  • WS-I.org基本个人资料合规性
  • 多程序设计语言支持
  • 深度遍历事件

有关这些功能的更多详细信息,请参阅 XSDObjectGen.doc 文档文件(安装该工具后C:\Program Files\XSDObjectGenerator中提供)。

答案 2 :(得分:4)

看起来你至少可以在VS2005上使用它(根据this article, anyway

只需在“工具>>外部工具...”下将其添加到VS2005的外部工具集合中。

将参数设置为以下

  • 对于VB:$(ItemPath)/ l:vb /f:$(ItemFileName).vb / c / d / t
  • 对于C#:$(ItemPath)/ l:cs /f:$(ItemFileName).vb / c / d / t

看来XSD和XSDObjectGen会产生不同的类。事实上,这篇Rick Strahl文章中的评论说{{strong>他们在article here中产生非常不同的类“。

答案 3 :(得分:3)

纯技术级别:

XSD.exe使用Arrays
XSDObjectGen向前迈出了一小步,使用了ArrayLists 使用Generics XSD2Code 提前

如果您使用的是.NET 2.0及更高版本,则最优选使用XSD2Code。