2010-07-21 5 views
1

도메인 클래스가있는 프로젝트가 포함 된 웹 사이트 솔루션이 있습니다.Visual Studio 빌드 오류 : 다른 어셈블리의 클래스 구성원이 존재하지 않습니다.

도메인 클래스 중 하나에 공용 자동 속성 (get; set;)을 추가했습니다. 웹 사이트의 페이지가이 속성을 참조합니다.이 속성은 IntelliSense를 사용하여 페이지에 추가되었습니다.

웹 사이트 프로젝트는 괜찮습니다. 그러나 솔루션을 빌드 할 때 이전 클래스에 클래스 정의에 대한 정의가 없습니다. 오류가 발생합니다. 그러나 aspx.cs 파일의 속성을 마우스 오른쪽 단추로 클릭하면 도메인 클래스의 선언에 따라 올바르게 처리됩니다.

솔루션의 다른 웹 사이트 프로젝트는 오류없이 클래스의이 속성을 호출 할 수 있습니다.

실제로 웹 사이트를 사용할 때도 동일한 예외가 발생합니다.

Visual Studio와 (과) 비슷한 이상한 에피소드가 있습니다.

어떤 문제가 발생할 수 있으십니까?

감사

데이비드

편집

: 여기에 일련의 단계에서 약간 더 관찰한다.

  1. 면도의 수용액 (14 성공 말한다 용액 16 개 프로젝트가있다)
  2. 솔루션 빌드 (말한다 16 성공)
  3. 재구성 해결
  4. 솔루션 빌드 (한 바와 같이) 실패한 (설명한 실패로)

웹 사이트가 실제로 작동하지 않습니다. 항상 오류가 발생합니다.

사전 처리 컴파일이 성공적으로 수행 된 것 같습니다.

편집 2 : 프로젝트 참조를 제거하고 다시 추가했지만 문제가 남아 있습니다.

편집 3 : 솔루션에 새로운 webiste 프로젝트를 추가하고 모든 파일을 기존 웹 사이트에서 새 웹 사이트로 복사했습니다. 문제는 새로운 웹 사이트와 기존 웹 사이트에 존재합니다.

+0

클래스에서 인터페이스를 구현합니까? 인터페이스에서 "누락 된"메소드와 비슷한 문제점이있었습니다. –

+0

아니요, 기본 클래스는 확장 할 수 있지만 그만큼 바닐라 같은 것을 얻을 수 있습니다. – David

+0

진지하게, 여기서 무슨 일이 일어나고있는가? Visual Studio에서 솔루션을 만들지 않으면 어떻게 할 수 있습니까? – David

답변

0

좋아요, 문제는 내가 사용하고있는 클래스 (특정 속성을 포함하지 않는 것으로보고)를 사례라고 부르는 것입니다.C#이 대소 문자를 구분한다고해도 어쨌든 예약어 'case'와 충돌하기 때문에 컴파일하는 동안 문제가 발생했습니다.

클래스 이름을 완전히 한정하여 문제를 해결했지만 'ProbateCase'클래스의 이름을 바꿀 수 있다고 생각합니다.

Visual Studio의 컴파일 과정에서 분명히 버그라고합니다. C#에서는 'Case'가 'case'와 동일하지 않을뿐만 아니라 클래스가 내 솔루션에 약 1 년 반 동안 존재했으며이 문제는 전에는 발생하지 않았습니다. 다른 프로젝트는 이름을 한정하지 않고 자유롭게 수업을 사용할 수 있습니다.

불평 불만. 인생은 계속됩니다.

0

System.IO.FileSystemWatcher 또는 SysInternals 도구 중 하나를 사용하여 컴파일러가 어셈블리의 이전 캐시 된 복사본을 어딘가에 액세스하고 있는지 확인해보십시오.

+0

내가 사용할 수있는 도구를 제안 해 줄 수 있습니까? – David

+0

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx –

+0

감사합니다. 설치 한 적이 있지만 컴파일러 (아마도 devenv.exe)가 이전 버전의 어셈블리. 내가 뭐라 불렀는지 어떻게 알았 겠어? – David

0

아마도 IIS 나 응용 프로그램 풀을 재설정하면 조금 도움이 될까요? 또한 어셈블리가 GAC에 등록되어있는 경우 어셈블리를 제거하고 다시 설치하면 도움이 될 수 있습니다.

+0

제안 해 주셔서 감사합니다. 이것은 솔루션의 내 개발자 버전이며 IIS를 실행하지 않습니다 - 단지 통합 웹 서버를 사용합니다. 모든 어셈블리가 GAC에 없습니다. – David

0

속성을 찾는 데 어려움이있는 프로젝트에서 빌드 순서 및/또는 종속성을 다시 확인하십시오. 이 프로젝트는 다른 프로젝트가 먼저 구축되어야합니다.

+0

빌드 순서 및 종속성은 어떻게 확인합니까? – David

+0

좋아, 찾았 어. 아니야, 모든 것이되어야한다. – David

관련 문제