나는 .NETStandard 1.4 프로젝트 [DataContract]
와 클래스를 장식하려고NetStandard 1.4 [DataContract]와 장식 클래스를 허용하지 않습니다
[DataContract]
[KnownType(typeof(SingleSensorEvent))]
[KnownType(typeof(BatchSensorEvent))]
public abstract class WebItemBase
{
// details left out
}
나는 다음과 같은 컴파일 오류를 얻을
1> WebItemBase.cs (7,6,7,18) : 오류 CS0653 : 그것은 추상적이기 때문에 속성 클래스 'DataContract'을 적용 할 수 없습니다
1> WebItemBase.cs (8,6,8,15) : 오류 CS0012 : 형식 '속성'이 참조되지 않은 인 어셈블리에 정의되었습니다. 어셈블리 'mscorlib, 버전 = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089'에 대한 참조를 추가해야합니다.
NETStandard 1.4에서 데이터 계약을 사용할 수 있습니까?
이와 같은 오류가 발생하면 안된다. 그것이 무엇이든, 항상 우리가 추측하도록 강요하지 않는 것이 가장 좋습니다. 다시 실행 취소하십시오. 대신 Nuget 패키지 인 System.Runtime.Serialization v4.3.0에 대한 참조를 추가해야합니다. 프로젝트가 이제는 YMMV를 염두에두고있는 모든 플랫폼으로 이식하지 못할 수도 있습니다. –
@HansPassant가 클래스를 새 프로젝트로 이동하고 제안 된 너겟 패키지를 추가합니다. 내 시간은 지금 당장이다. 그래서 나는 조금 더 깊이 파할 것이다. 나는이 프로젝트에서 무언가를 깨뜨렸다. 귀하의 조언에 대해 많은 많은 감사드립니다! 당신이 그것을 대답으로 버리면 그것을 받아 들일 것입니다. – bas
@HansPassant, 유형 X (.NET 표준에서 사용할 수있는 모든 일반 .NET 유형)를 사용하려고하면 .NET Standard * minimum * 버전이 필요한지 알아내는 확실한 방법을 알려줄 수 있습니까? 그것을 사용하기위한 타겟뿐만 아니라 참조를 추가하는 어떤 너겟 패키지? 나 자신의 클래스 라이브러리를 다룰 때 .NET 표준의이 부분을 괴롭히는 것이 정말 어렵다는 것을 알았지 만 어디에서 봐야할지 모르겠습니다. –