ASMX Web服务Enum不保留其价值

Has*_*sif 1 c# asp.net enums asmx .net-2.0

我创建了一个包含枚举的Web服务,其值如下所示

public enum DesignChoice
{            
    DesignerChoice = 1,
    CustomerChoice = 2,
    AdditionalDesign=3,
}
Run Code Online (Sandbox Code Playgroud)

当我添加对客户端网站的引用时,枚举值会更改,如下面的代码所示:

(int)DesignChoice.AdditionalDesign 返回2,但我期待它是3.

我已经尝试了序列化属性[System.Xml.Serialization.XmlTypeAttribute()],但没有运气.

该服务的WSDL描述了枚举如下:

 <s:simpleType name="DesignChoice">
        <s:restriction base="s:string">
          <s:enumeration value="DesignerChoice" />
          <s:enumeration value="CustomerChoice" />
          <s:enumeration value="AdditionalDesign" />
        </s:restriction>
      </s:simpleType>
Run Code Online (Sandbox Code Playgroud)

当我在VS中的类名上按F12时,它显示了从元数据生成的以下代码:

public enum DesignChoice
    {
        DesignerChoice = 0,
        CustomerChoice = 1,
        AdditionalDesign = 2,
    }
Run Code Online (Sandbox Code Playgroud)

我使用的是Visual Studio 2005和.NET 2.0.