[DataContract]的命名空间

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

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

213763 次浏览

DataContractAttribute类在System.Runtime.Serialization命名空间中。

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

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx < a href = " http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx " > < / >

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

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

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

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

使用System.ServiceModel < p >, < br > 使用System.Runtime.Serialization; < / p >

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

在visual studio for .Net 4.0框架中,

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

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