[c#] 참조 된 프로젝트는 컴파일 시간에 “손실”됩니다.

서비스 (주 프로젝트)와 로거의 두 프로젝트가있는 C # 솔루션이 있습니다. 이 서비스는 로거의 클래스를 사용합니다. 서비스 프로젝트 내에서 로거 프로젝트에 대한 참조를 추가했습니다. 디자인 타임에 자동 완성은 잘 작동합니다. 로거의 클래스가 표시되고 내가 사용하는 참조는 적절하게 색상이 지정됩니다.

솔루션을 다시 빌드하면 문제가 발생합니다. 참조가 더 이상 인식되지 않습니다. ” ‘로깅’이라는 이름이 현재 컨텍스트에 존재하지 않습니다. ‘클래스가 더 이상 자동 완성에 존재하지 않습니다. 참조를 제거하고 다시 연결하면 자동 완성에 식별자를 표시하는 기본 상태로 돌아갑니다.

재부팅하고 모든 캐시를 지우고 이것이 내 컴퓨터에서 실행되는 유일한 VS 2010 인스턴스인지 확인했습니다.

내가 놓친 (분명히) 명백한 것이 있습니까?



답변

프로젝트 속성에서 각 프로젝트의 빌드 유형을 확인하십시오. 하나 또는 다른 하나가에 대해 빌드되도록 설정됩니다 .NET XX - Client Profile.

일관되지 않은 버전, 특히 한 존재 Client Profile와 그렇지 않은 경우 디자인 타임에는 작동하지만 컴파일 타임에는 실패합니다. 진짜 잡았다.

Visual Studio 2010에서 재미있는 일이 일어나고 있습니다. 프로젝트를 무작위로으로 설정 Client Profile하고 때로는 프로젝트를 만들 때, 때로는 며칠 후에 프로젝트를 계속 설정합니다 . 아마 내가 실수로 치는 키보드 단축키 …


답변

여기에서 두 프로젝트의 대상 프레임 워크 버전이 동일한 지 확인하십시오 . 프로젝트-> 속성-> 애플리케이션 (탭)-> 대상 프레임 워크를 마우스 오른쪽 버튼으로 클릭 하십시오.

또한 프로젝트 “로거”(메인 프로젝트에 포함시키려는)의 출력 유형이 “클래스 라이브러리”인지 확인
하십시오. 프로젝트-> 속성-> 애플리케이션 (탭)-> 출력 유형을 마우스 오른쪽 버튼으로 클릭하십시오.

마지막으로 솔루션을 다시 빌드 하십시오.


답변