在VS2012中更新Silverlight服务引用时,使用XmlTypeAttribute而不是DataContractAttribute序列化枚举

时间:2013-03-11 18:26:17

标签: visual-studio-2010 wcf silverlight silverlight-4.0 visual-studio-2012

我目前有一个服务器端类库,其中包含自定义枚举,而这些枚举又由WCF服务方法使用。

使用 Visual Studio 2012 ,当我更新服务引用时,Silverlight客户端代码代理中不再生成两个自定义枚举。服务器的其余部分 - 我的项目中的副课程和枚举都在服务更新中完成。

我的项目上的服务参考更新使用Visual Studio 2010工作得很好。在安装Visual Studio 2012之后,这个就退出了。即使我在VS2010中重新打开项目,我仍然无法在更新服务引用时得到两个有问题的枚举。

在更新Silverlight项目上的服务引用之后,只需安装Visual Studio 2012,就知道为什么这些枚举会退出生成?

更新

在更新我的服务引用之后,我在Silverlight项目中打开了生成的Reference.cs文件,我注意到其中一个成功实现的枚举产生了以下差异:

OLD

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="Location", Namespace="http://schemas.datacontract.org/2004/07/MyProject.BusinessLogic")]
public enum Location : int {

    [System.Runtime.Serialization.EnumMemberAttribute()]
    None = 0,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    Section = 4,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    Top = 2,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    Bottom = 3,
}


NEW

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.18034")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/MyProject.BusinessLogic")]
public enum Location {

    /// <remarks/>
    None,

    /// <remarks/>
    Section,

    /// <remarks/>
    Top,

    /// <remarks/>
    Bottom,
}

0 个答案:

没有答案