首页 文章

[DataContract]的命名空间

提问于
浏览
216

我找不到用于 [DataContract][DataMember] 元素的命名空间 . 根据我发现,似乎添加以下内容应该足够了,但在我的情况下它不是 .

using System;
using System.Runtime.Serialization;

这是我的代码片段:

using System;
using System.Runtime.Serialization;

namespace MyNamespace {

    [DataContract]
    public class Tuple<T1, T2> {
            // A custom implementation of a Tuple
            //...
            //...
        }
}

我得到的错误:

找不到类型或命名空间名称'DataContract'(您是否缺少using指令或程序集引用?)

我没有使用正确的命名空间吗?

5 回答

  • 7

    http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx

    DataContractAttribute位于System.Runtime.Serialization命名空间中,您应该引用System.Runtime.Serialization.dll . 它只能在.Net> = 3中使用

  • 5

    [DataContract]和[DataMember]属性位于System.ServiceModel.dll中的System.ServiceModel命名空间中 .

    System.ServiceModel使用System和System.Runtime.Serialization命名空间来序列化数据成员 .

  • 4

    在visual studio for .Net 4.0框架中,

    • 尝试添加对项目的新引用 .

    • 在.Net选项卡上,搜索 System.Runtime.Serialization .

    • 现在,您可以使用 using System.Runtime.Serialization . 并且不会显示错误 .

  • 0

    DataContractAttribute 类位于 System.Runtime.Serialization 名称空间中 .

    您应该添加对 System.Runtime.Serialization.dll 的引用 . 但是默认情况下不会引用该程序集 . 要添加对项目的引用,您必须转到解决方案资源管理器中的引用 - >添加引用,并手动添加程序集引用 .

  • 399

    首先,我添加对我的模型的引用,然后我在我的代码中使用它们 . 您应该添加两个引用:

    使用System.ServiceModel;使用System.Runtime.Serialization;

    然后,这个问题在我的程序中得到了解决 . 我希望这个答案可以帮到你 . 谢谢 .

相关问题