내 WPF 프로젝트에서 DataAnnotations를 사용하여 다음과 같이 최대 문자열 길이를 지정하려고합니다.
using System.ComponentModel.DataAnnotations;
그러나 오류가 발생합니다.
형식 또는 네임 스페이스 이름 ‘DataAnnotations’가 네임 스페이스 ‘System.ComponentModel’에 없습니다 (어셈블리 참조가 누락 되었습니까?).
나는 다른 예를 본 적이 DataAnnotations
않습니다 이 네임 스페이스에 존재합니다. C # 4를 사용하고 있습니다. 이것을 사용할 수없는 이유가 있습니까? 이 문제를 해결하려면 어떻게해야합니까?
답변
이 네임 스페이스가 정의 된 어셈블리를 참조해야합니다 (기본적으로 Visual Studio 템플릿에서 참조되지 않음). 참조 관리자를 열고 System.ComponentModel.DataAnnotations 어셈블리에 대한 참조를 추가합니다 (솔루션 탐색기-> 참조 추가-> .Net 탭 선택-> 목록에서 System.ComponentModel.DataAnnotations 선택).
답변
답변
System.ComponentModel.DataAnnotations를 참조하려면
코드 파일에서 Using System.ComponentModel.DataAnnotations; 다음과 같은 파일 상단에
using System.ComponentModel.DataAnnotations;
솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하여 프로젝트에 .NET 참조를 추가합니다.
도움이 되었기를 바랍니다! 이 질문이 도움이되었습니다.
답변
참조에없는 경우 (예 : 그렇지 않은 경우) NuGet System.ComponentModel.Annotations를 추가하여 어셈블리를 가져오고 오류를 해결할 수도 있습니다. (이 답변이 오류에 대한 Google의 상단으로 여기에 추가)
답변
나는 또한 같은 문제가 있었고 언급 된 참조가없는 내 프로젝트 중 하나에 참조를 추가하여 해결했습니다. 솔루션에 2-3 개의 프로젝트가있는 경우이 참조를 다른 프로젝트에 추가하여 확인하십시오.
답변
프로젝트에 FrameWork 버전 4.5 이상을 사용하면 문제가 해결되었습니다.이 네임 스페이스는 4.5 이상이기 때문입니다.
답변
Silverlight 5의 System.ComponentModel.DataAnnotations를 (1)에서 아래 버전으로 참조 할 수 없음을 발견했습니다. Silverlight 5 어셈블리가 .NET 어셈블리를 사용할 수 없다는 것을 발견했습니다. “Silverlight 런타임에 대해 빌드되지 않았기 때문에 System.ComponentModel.DataAnnotations에 대한 참조를 추가 할 수 없습니다. …”라는 오류 메시지가 표시됩니다. 아래 (2)에있는 Silverlight 5 패키지를 설치하기를 바랍니다. 이것이 실패하면이 게시물을 업데이트하겠습니다.
[업데이트 : 실패했습니다. Silverlight 5와 관련된 모든 것을 설치했는데 .dll 어셈블리 System.ComponentModel.DataAnnotations의 Silverlight 버전이 없습니다. 너무 나쁘다. 업데이트 II : Visual Studio 2008 또는 2010 용 Silverlight 개발자 키트의 이전 설치에서이 이름을 가진 이전 .dll을 찾았습니다.이 파일을 추가했는데 IntelliSense가 이제 클래스 구성원의 특성을 인식한다는 점에서 ‘작동’하는 것 같습니다. 같은 [Display(Name = "My Property Name")].
들어이 .dll의 다른 모든 작업에 대해 작동하는지 여부는 모르겠습니다.]
(1)
Microsoft Visual Studio Professional 2013
Version 12.0.21005.1 REL
Microsoft .NET Framework
Version 4.5.51641
설치된 버전 : Professional