NetStandard 1.4不允许使用[DataContract]装饰类

bas*_*bas 2 c# datacontract .net-standard .net-standard-1.4

当我尝试[DataContract]在.NETStandard 1.4项目中装饰类时

[DataContract]
[KnownType(typeof(SingleSensorEvent))]
[KnownType(typeof(BatchSensorEvent))]
public abstract class WebItemBase
{
    // details left out
}
Run Code Online (Sandbox Code Playgroud)

我得到以下编译错误

1> WebItemBase.cs(7,6,7,18):错误CS0653:无法应用属性类'DataContract',因为它是抽象的

1> WebItemBase.cs(8,6,8,15):错误CS0012:类型"属性"在未引用的程序集中定义.您必须添加对程序集'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.

有没有办法在NETStandard 1.4中使用数据合同?

Mar*_*ich 7

您需要添加对System.Runtime.Serialization.PrimitivesNuGet包的引用才能使用DataContractAttribute.它将自动提供netstandard2.0:

dotnet add package System.Runtime.Serialization.Primitives
Run Code Online (Sandbox Code Playgroud)