【问题标题】:New .Net Core Library Serialization Attributes Not Working新的 .Net Core 库序列化属性不起作用
【发布时间】:2017-04-12 14:31:43
【问题描述】:

我正在尝试在同一解决方案中将 MVC 项目中的一些类提取到他们自己的 .Net Core 类库中。到目前为止,我已经将这个类添加到了新的类库中:

[DataContract]
public class EmailStatusNotification
{
    [DataMember(Name = "nothing_interesting")]
    public string TestProp { get; set; }
}

[DataContract] 显示错误:

不能应用属性类DataContract,因为它是抽象的。

[DataMember] 显示错误:

Object 类型在未引用的程序集中定义。您必须添加对程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 的引用。

这可能是什么原因?我没有从项目中删除任何依赖项。

【问题讨论】:

  • 你检查过你构建的 .NET framerowk 的版本吗?
  • @m.rogalski 谢谢,我刚刚发布了这个问题的答案。这两天都没有工作,并且在重复了第一百万次之后突然出现了。似乎“如果你不修复它,它就没有修复”的概念不适用于微软可爱的生态系统。

标签: c# .net visual-studio .net-core


【解决方案1】:

[DataContract][DataMember] 遇到了完全相同的问题。事实证明,在尝试使用 DataContractAttribute 时,有一个对 System.Runtime.Serialization 的额外程序集引用导致了一些歧义。删除程序集引用修复了错误。我怀疑有一次你重新创建了库,你也清除了引用。

【讨论】:

    【解决方案2】:

    我第五次或第六次以完全相同的方式重新创建了类库,它奇迹般地开始工作了。我几乎可以肯定这是 Visual Studio 的一个错误/功能,但我什至不知道如何报告它,因为它太抽象了。

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      相关资源
      最近更新 更多