新的.Net核心库序列化属性不起作用

时间:2017-04-12 14:31:44

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

我正在尝试从同一个解决方案中将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的引用。

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

2 个答案:

答案 0 :(得分:2)

我遇到了与[DataContract][DataMember]完全相同的问题。事实证明,有System.Runtime.Serialization的额外汇编引用在尝试使用DataContractAttribute时引起了一些歧义。删除装配参考修复了错误。我怀疑你重新创建库的一次也清除了引用。

答案 1 :(得分:0)

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