我找不到用于[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指令或程序集引用?)

我是否没有使用正确的名称空间?


当前回答

我通过在参考中添加C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Runtime.Serialization.dll解决了这个问题

其他回答

系统中存在[DataContract]和[DataMember]属性。ServiceModel命名空间,在System.ServiceModel.dll中。

系统。ServiceModel使用System和System. runtime . serialization名称空间来序列化数据成员。

我通过在参考中添加C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Runtime.Serialization.dll解决了这个问题

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

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

首先,我将引用添加到我的模型中,然后在代码中使用它们。你应该添加两个参考资料:

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

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

在visual studio for .Net 4.0框架中,

尝试向项目添加新的引用。 在. net选项卡上,搜索System.Runtime.Serialization。 现在,你可以使用System.Runtime.Serialization。错误将不会显示出来。