【问题标题】:DataMember could not be found找不到数据成员
【发布时间】:2012-09-23 03:08:34
【问题描述】:

由于我已经对我的这个问题进行了研究,我仍然无法解决我的错误 1 ​​找不到类型或命名空间名称“DataMember”(您是否缺少 using 指令或程序集参考?)

我遇到了一个解决方案,说明我应该引用 System.Runtime.Serialization,但即使添加对它的引用,我仍然没有运气。

这是我的代码:

using System;
using System.Linq;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace WebServApp
{
    [Serializable]
    public class Employee
    {
        [DataMember]
        public int EmpNo { get; set; }
        [DataMember]
        public string EmpName { get; set; }
        [DataMember]
        public int DeptNo { get; set; }
        [DataMember]
        public int Salary { get; set; }
    }
}

这是我真正想要遵循的教程: http://www.dotnetcurry.com/ShowArticle.aspx?ID=472

谁能帮我解决这个错误?

【问题讨论】:

  • 即使添加 System.Runtime.Serialization 也无法正常工作?
  • 即使我使用菜单中的添加引用或键入“使用 System.Runtime.Serialization”添加 System.Runtime.Serialization 仍然无法正常工作
  • 您构建的 CompactFramework 版本是什么?难道它只在 3.5 中可用?
  • 我使用的是 CompactFramework 3.5
  • 检查你的框架版本。

标签: c# rest windows-mobile


【解决方案1】:

从代码中删除 System.Runtime.Serialization,然后从 menu > Project > Add reference ..> 添加。然后再次添加到代码中。有用。

【讨论】:

  • 进入参考管理器后,您会在“程序集”>“框架”选项卡下找到 System.Runtime.Serialization。
【解决方案2】:

我已经解决了这个问题。 我刚刚在项目资源管理器的引用中删除了 System.Runtime.Serialization 并通过浏览添加它然后它工作了。很奇怪。

【讨论】:

  • 是的,你写的是 [Serializable] 而不是 DataContract 。组织:[DataContract(Name = "Employee", Namespace = "")] public class Employee { [DataMember] public int EmpNo { get;放; } [DataMember] 公共字符串 EmpName { 获取;放; } [DataMember] public int DeptNo { get;放; } [DataMember] public int Salary { get;放; } }。有时复制和粘贴是您的朋友。
  • 不。 [Serializable] 不是问题。我只是按照上面的答案做了我所做的。当它工作时,我实际上删除了代码中的 [Serializble] 但它仍然有效。
猜你喜欢
  • 1970-01-01
  • 2015-01-11
  • 1970-01-01
  • 2014-08-28
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2011-11-03
相关资源
最近更新 更多