开发者

svcutil generated client side WCF service binding code which doesnt compile

开发者 https://www.devze.com 2023-03-10 10:59 出处:网络
[System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Runtime.Serialization\", \"3.0.0.0\")] [System.Runtime.Serialization.DataContractAttribute(Name=\"TreeTraversalType\", Namespace=\"http://sch
 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
 [System.Runtime.Serialization.DataContractAttribute(Name="TreeTraversalType", Namespace="http://schemas.datacontract.org/2004/07/DsLib")]
public enum TreeTraversalType : int
{
    [System.Runtime.Serialization.EnumMemberAttribute()]
    PreOrder = 0,

    [System.Runtime.Serialization.EnumMemberAttribute()]
    InOrder = 1,

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

from service exposing following contract

  [OperationContract]
  void PrintTraversePath(TreeTraversalType type);

But at client side, it says that Serialization does not contain DataContractAttribute.

Also, earlier while compiling the service, I got a CLS-non-compliant error for this enum, but later without any related modification, it resolved (must have modified something else which I don't know correlates with this).

My question is, why this compile-error behaviour and what is CLS-compliance. Can't I have enum type in a Contract definition of a service开发者_StackOverflow社区?


Enums work fine in contracts. Do you have a reference to System.Runtime.Serialization.dll (where DataContractAttribute is defined) in your project?


There may be a reference missing for Runtime.Serialization namespace.

Enums are not the issue. They work well in data contracts.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号