谢谢大家,我找到了如何删除警告。
正如sysrqb所说,wsdl 命名空间要么已被删除,要么从未存在。xsd.exe 工具似乎在内部知道 Guid 定义,但它无法验证 xsd 架构。
正如boj指出的那样,验证带有 Guid 的模式的唯一方法是在模式中(重新)定义该类型。这里的技巧是将 Guid 类型添加到相同的“ http://microsoft.com/wsdl/types ”命名空间。这样,xsd.exe 将在http://microsoft.com/wsdl/types:Guid和 System.Guid之间进行正确关联
我为 guid 类型创建了一个新的 xsd 文件:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://microsoft.com/wsdl/types/" >
<xs:simpleType name="guid">
<xs:annotation>
<xs:documentation xml:lang="en">
The representation of a GUID, generally the id of an element.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
然后,我使用我的原始 xsd 文件和这个新的 xsd 文件运行 xsd.exe:
xsd.exe myschema.xsd guid.xsd /c