C# 使用svcutil从xsd生成数据协定时出现问题

C# 使用svcutil从xsd生成数据协定时出现问题,c#,soap,xsd,datacontract,svcutil.exe,C#,Soap,Xsd,Datacontract,Svcutil.exe,我正在尝试基于我的xsd文件生成DataContract注释类。然后,这些类应该用作soapweb服务的交换数据类型 在cmd.exe中,我尝试运行以下命令: svcutil/dconly loginSoap.xsd/language:C# 但它失败了,出现以下错误: 错误:无法导入命名空间“”中的类型“loginRequest”。根粒子必须是一个序列。更改架构,使类型可以映射到数据协定类型,或者使用ImportXmlType或使用其他序列化程序 如果您使用/DATACONTractOnLoad

我正在尝试基于我的xsd文件生成DataContract注释类。然后,这些类应该用作soapweb服务的交换数据类型

在cmd.exe中,我尝试运行以下命令:

svcutil/dconly loginSoap.xsd/language:C#

但它失败了,出现以下错误:

错误:无法导入命名空间“”中的类型“loginRequest”。根粒子必须是一个序列。更改架构,使类型可以映射到数据协定类型,或者使用ImportXmlType或使用其他序列化程序

如果您使用/DATACONTractOnLoad选项导入数据契约类型并获得此错误消息,请考虑使用XSD.EXE代替。XSD.EXE生成的类型可以在Windows通信基础上在服务契约上应用XMLSerialIZrimFrastAttor属性使用。或者,考虑使用//CuxMLMype选项将这些类型导入XML类型,以便在服务契约上使用DATACONTractFrastAttor属性使用。

我的xsd文件是:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://www.megatravel.xyz/XMLSchema/XMLSchemaSoap/Login"
           targetNamespace="http://www.megatravel.xyz/XMLSchema/XMLSchemaSoap/Login"
           elementFormDefault="qualified">
    <xs:element name="loginRequest">
        <xs:complexType>
            <xs:all>
                <xs:element name="username" type="xs:string"/>
                <xs:element name="password" type="xs:string"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:element name="loginResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="message" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

错误为您指明了正确的方向

只需将
替换为


或者将XSD.exe与
/classes

一起使用,错误会指向正确的方向

只需将
替换为

或者将XSD.exe与
/classes