2015-01-27 7 views
0

MVVM 패턴을 적용하는 Silverlight 웹 프로젝트가 있습니다. 내 전체 솔루션에는 4 가지 프로젝트가 있습니다.Silverlight 프로젝트에 Entity 네임 스페이스가 표시되지 않습니다.

프로젝트 "A3"(모든보기 및 ViewModels 포함). 등 내 주요 HTML 파일, 이미지, 사운드 파일을 포함

프로젝트 "A3.Web"

내 XAML 바인딩 컨버터와 내가 만든 기타 유용한 클래스가 포함

프로젝트 "A3Lib".

프로젝트 "A3Lib.Web"에는 데이터 모델과 도메인 논리가 포함되어 있습니다.

내 엔터티 모델은 모두 내 DataModels 폴더 안에 있으며 내 도메인 서비스 서버 측 코드는 모두 DomainLogic 폴더 안에 있습니다. "Common"이라는 DataModels 폴더 안에 새 폴더를 만들었습니다.

그래서 VM에 데이터 모델을 추가하려면 "A3Lib.Web.DataModels.Common;"을 사용하려고했습니다. 그 네임 스페이스를 찾지 못했습니다.

문제 : 새 폴더와 새 엔터티 모델을 DataModels 폴더에 추가 할 때 "A3"프로젝트의 View 또는 ViewModel에 네임 스페이스가 표시되지 않습니다.

그러나 기존 코드는 이미 다른 사람이 추가했으며 추가 한 모델은 View 또는 VM에서 사용할 때 완벽하게 멋지게 표시됩니다.

web.config에서 연결 문자열이 올바른지 확인했습니다. 나는 또한 새로운 컨텍스트를 프로젝트의 기본 클래스 (다른 컨텍스트가있는 곳)에 추가하려고 시도했지만 도움이되지 않았다. 내 프로젝트는 단순히 내가 만든 데이터 모델 네임 스페이스를 확인하거나 볼 수 없습니다. 당신이 당신의 A3Lib 프로젝트의 Generated_Code 폴더에 표시되어야합니다 -

감사

유라

답변

0

는 실버 라이트 응용 프로그램은 생성 된 코드를 통해 서버 측 프로젝트에서 모델과 네임 스페이스를 본다. 그것이 없으면 빌드시 프록시 클래스가 생성되지 않습니다. 몇 가지 확인 :

  1. 클래스가없는 개인 인 (헤이 - 때때로 그것은 간단한 일이야)
  2. 도메인 서비스를 사용하는 서비스가 된 IQueryable 또는는 IEnumerable을 반환 적어도 1 개 방법을해야하는 경우
  3. (심지어 메서드가 null을 반환하는 경우) Silverlight 측 도메인 콘텍스트에서 클래스를 보려면
  4. 클래스가 클라이언트와 공유하려는 유틸리티 클래스 인 경우 파일을 classname.shared.cs로 저장하고 프록시 그것을 집어들 것이다.
  5. 프로젝트 참조가 프로젝트에 있고 다른 위치의 (아마도 더 오래된) .dll이 아닌지 확인하십시오.

제공된 정보를 기반으로 한 모든 것입니다.

관련 문제