【发布时间】:2015-02-20 01:00:45
【问题描述】:
我正在尝试使用 xsd 工具从 xsd 文件生成 vb.net 类,但收到以下消息:
架构验证警告:复杂类型 'http://www.w3.org/2000/09/xmldsig#:SignatureType
警告:无法生成类,因为没有找到具有复杂类型的顶级元素。
谢谢! 戴维斯
【问题讨论】:
我正在尝试使用 xsd 工具从 xsd 文件生成 vb.net 类,但收到以下消息:
架构验证警告:复杂类型 'http://www.w3.org/2000/09/xmldsig#:SignatureType
警告:无法生成类,因为没有找到具有复杂类型的顶级元素。
谢谢! 戴维斯
【问题讨论】:
迟到总比没有好... 您必须传递 2 个参数。您的文件和http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd 参考。由于 XSD.exe 只接受 1 个输入参数,因此您必须将其传递给 .Xsd 路径。
所以,你必须这样做:
运行这个:
"C:\Program Files\Microsoft SDKs\Windows\vXXXX\bin\xsd.exe" [path_your_folder]\your_file.xsd [path_to_your_folder]\xmldsig-core-schema.xsd /c /n:mi_new_class_file_name /l:VB
新文件“mi_new_class_file_name.vb”现在可能位于您的“C:\Program Files\Microsoft SDKs\Windows\vXXXX\bin”文件夹中。
【讨论】:
我在使用 XSD.EXE 时遇到了类似的问题,它适用于一些简单的 XSD,但也适用于任何复杂的东西 - 一堆各种错误,就是这样。更糟糕的是,我对 XSD/WSDL 相当熟悉。根据我的经验,我有几个 WSDL,每个都导入 2 到 5 个外部 XSD。
这是我从 XSD 获取类的操作:
-下载安装免费工具XSD2CODE
-在命令行中运行:
"<PATH to Xsd2Code executable>\Xsd2Code.exe" YourXSDFile.xsd /l vb
即使 XSD.EXE 无法为我生成类。 祝你好运!
【讨论】: