我找不到用于 [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 指令或程序集引用?)
我没有使用正确的命名空间吗?
DataContractAttribute
类位于 System.Runtime.Serialization
命名空间中。
您应该添加对 System.Runtime.Serialization.dll
的引用。但是,默认情况下不引用该程序集。要将引用添加到您的项目,您必须转到 References ->在解决方案资源管理器中添加引用并手动添加程序集引用。
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute 位于 System.Runtime.Serialization 命名空间中,您应该引用 System.Runtime.Serialization.dll。它仅在 .Net >= 3 中可用
在 .Net 4.0 框架的视觉工作室中,
尝试添加对项目的新引用。在 .Net 选项卡上,搜索 System.Runtime.Serialization。现在,您可以使用 System.Runtime.Serialization。并且不会显示错误。
[DataContract] 和 [DataMember] 属性位于 System.ServiceModel.dll 中的 System.ServiceModel 命名空间中。
System.ServiceModel 使用 System 和 System.Runtime.Serialization 命名空间来序列化数据成员。
我通过在参考中添加 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\System.Runtime.Serialization.dll 解决了这个问题
首先,我添加对我的模型的引用,然后在我的代码中使用它们。您应该添加两个参考:
使用 System.ServiceModel;使用 System.Runtime.Serialization;
然后,这个问题在我的程序中得到了解决。我希望这个答案可以帮助你。谢谢。
不定期副业成功案例分享
References -> Add Reference
并添加程序集引用...using System.Runtime.Serialization;
行上给我一个错误。我想我错了:)using
语句中出错?这对我来说似乎很有意义。