데이터 주석을 사용할 수 없습니다.

c# entity-framework-core

문제

그래서 우리는 게임을 앞두고 EF7에 대한 핸들을 얻으 ​​려하고 있습니다. 그리고 나는 단지 광기라고 부를 수 있습니다.

EF6에서 저는 주석을 꽤 많이 사용하고 있습니다. UnicornStore 프로젝트에 따르면 이것은 완전히 유효하지만, 나는 Visual Studio 2015에서 참조가 없다고 불평하는 문제에 직면 해 있습니다. System.ComponentModel.DataAnnotations 어셈블리에 추가합니다. 공정하게, 나는 어셈블리에 대한 참조를 추가하고 DNX Core 5.0에서 다음을 얻습니다.

Error   CS0234  The type or namespace name 'DataAnnotations' does not exist in the namespace 'System.ComponentModel' (are you missing an assembly reference?) Lib.DNX Core 5.0

필자가 생각하기에 유니콘 스토어를 나의 레퍼런스로 볼 때, 프로젝트의 어셈블리에 대한 참조는 없지만, 프로젝트에 참조가있다. lock.json과 내가 이해하는 한 당신은 그 파일을 편집하지 않아야합니다.

가장 큰 질문은 무엇입니까? 왜 DNX 4.5.x가 레퍼런스에 대해 불평하지 않고 DNX Core 5.0이 불만입니까?

수락 된 답변

.Net 4.6 (vNext라고도 함) 웹 프로젝트는 Microsoft.AspNet.Mvc 종속됩니다. 이렇게하면 큰 의존성 트리가 생기고 데이터 주석은 Microsoft.DataAnnotations 패키지에 있습니다.

프로젝트에서 데이터 주석을 사용하려면 System.ComponantModel.DataAnnotations 대신 Microsoft.DataAnnotations 를 사용 Microsoft.DataAnnotations .


인기 답변

방금 beta8에이 문제가있었습니다. DNX 4.5.1과 DNX Core 5.0 모두에 대해 크로스 컴파일을 제공하기 위해 여기에 제공된 다른 답변과 의견을 결합하여 해결했습니다.

"frameworks": {
  "dnx451": {
    "frameworkAssemblies": {
      "System.ComponentModel.DataAnnotations": "4.0.0.0"
    },
    "dependencies": {
    }
  },
  "dnxcore50": {
    "dependencies": {
      "System.ComponentModel.Annotations": "4.0.11-beta-23409"
    }
  }
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.