사용할 네임 스페이스 [DataContract]
와 [DataMember]
요소 를 찾을 수 없습니다 . 내가 찾은 것에 따르면 다음을 추가하는 것으로 충분하지만 내 경우에는 충분하지 않습니다.
using System;
using System.Runtime.Serialization;
다음은 내 코드 스 니펫입니다.
using System;
using System.Runtime.Serialization;
namespace MyNamespace {
[DataContract]
public class Tuple<T1, T2> {
// A custom implementation of a Tuple
//...
//...
}
}
그리고 내가 얻는 오류 :
유형 또는 네임 스페이스 이름 ‘DataContract’를 찾을 수 없습니다 (사용 지시문 또는 어셈블리 참조가 누락 되었습니까?)
올바른 네임 스페이스를 사용하지 않습니까?
답변
DataContractAttribute
클래스는 System.Runtime.Serialization
네임 스페이스에 있습니다.
에 대한 참조를 추가해야합니다 System.Runtime.Serialization.dll
. 해당 어셈블리는 기본적으로 참조되지 않습니다. 프로젝트에 참조를 추가하려면 솔루션 탐색기에서 참조-> 참조 추가로 이동하여 어셈블리 참조를 수동으로 추가해야합니다.
답변
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute는 System.Runtime.Serialization 네임 스페이스에 있으며 System.Runtime.Serialization.dll을 참조해야합니다. .Net에서만 사용 가능> 3
답변
[DataContract] 및 [DataMember] 특성은 System.ServiceModel.dll에있는 System.ServiceModel 네임 스페이스에 있습니다.
System.ServiceModel은 System 및 System.Runtime.Serialization 네임 스페이스를 사용하여 데이터 멤버를 직렬화합니다.
답변
.Net 4.0 프레임 워크 용 Visual Studio에서
- 프로젝트에 새로운 참조를 추가하십시오.
- .Net 탭에서 검색
System.Runtime.Serialization
. - 이제을 사용할 수 있습니다
using System.Runtime.Serialization
. 그리고 오류가 표시되지 않습니다.
답변
먼저 내 모델에 참조를 추가 한 다음 내 코드에서 사용합니다. 추가해야하는 두 가지 참조가 있습니다.
System.ServiceModel 사용;
System.Runtime.Serialization 사용;
그런 다음이 문제는 내 프로그램에서 해결되었습니다. 이 답변이 도움이 되길 바랍니다. 감사.
답변
참조에 C : \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Runtime.Serialization.dll을 추가하여이 문제를 해결했습니다.