Спасибо всем,
Я нашел, как убрать предупреждения.
Как сказал sysrqb , пространство имен wsdl либо удалено, либо никогда не существовало. Кажется, что инструмент xsd.exe знает внутреннее определение Guid, но не может проверить схему xsd.
Как указывал boj , единственный способ проверить схему с Guids в ней - это (пере) определить этот тип в схеме. Хитрость заключается в том, чтобы добавить тип Guid к тому же пространству имен "http://microsoft.com/wsdl/types"". Таким образом, xsd.exe будет правильно сопоставлять http://microsoft.com/wsdl/types:Guid и System.Guid
Я создал новый xsd-файл для типа guid:
<?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.exe как с моим исходным файлом xsd, так и с новым файлом xsd:
xsd.exe myschema.xsd guid.xsd /c