2010-06-04 3 views
1

결과 프로젝트가 두 네임 스페이스를 모두 참조 할 때 두 프로젝트간에 네임 스페이스를 공유하는 프로토콜은 무엇입니까?.NET/C#/VS2008에서 프로젝트간에 네임 스페이스를 공유하는 방법. 수신 오류 : "어셈블리 참조가 누락 되었습니까?"

는 분명히 이것은 내가 해봤 것들에 따라 다른 오류를받은 적이

(시스템, mscorlib에) 가능하다. 지금은 두 프로젝트가 있습니다. 청사진도메인은 MainApp 네임 스페이스를 공유합니다 (예 : 청사진에는 MainApp.IEntity가 있으며 도메인에는 MainApp.EntityImpl이 있음). 그들은 두 번째 프로젝트 인 Repositories에 의해 참조됩니다. 리포지토리는 IRepository (Blueprint에서)와 EntityImpl (도메인에서)에 의존합니다. 청사진이 먼저 구축되고 그 다음에 도메인과 리포지토리가 차례로 나옵니다. 도메인 프로젝트의 클래스에 대한 모든 참조에 대해 "유형 또는 네임 스페이스 이름이 네임 스페이스 'MainApp'에 없습니다 (어셈블리 참조가 누락 되었습니까?) ...

어셈블리 참조는 다음과 같습니다. I 모든 올바른.

은 일반적인 어셈블리 이름 모든 프로젝트와 루트에 링크 참조를 추가 '와 그들 중 하나에서 어셈블리 정보 클래스를 추가.이 짓을 아무것도 사이에 있었다 확인했다, 그래서 나는 을 제거.

이 두 프로젝트를 병합 할 수 있지만 상황이 잘못 될 수 있습니다. 탈. 모두가 제공 할 수있는 지침에 감사드립니다. 주석에 대한 응답으로

청사진 도메인 청사진에 종속되어, 더 간 프로젝트가 참조가 없습니다 저장소 내가 모두 삭제했을

청사진 및 도메인에 종속 dll을 다시 빌드 청소를 반복 .. 아니 주사위 ..

+0

"어셈블리 참조가 정확합니다."라고 말하면 그 어셈블리가 정확하다고 생각되지만 의심하지 않습니다. Repositories 또는 Common Assembly에서 참조한 어셈블리를 포함 시키시겠습니까? 지금까지 당신이 가진 가장 큰 문제는 잘못된 참조입니다. –

+0

나는 포스트를 편집하고 하단을 읽어 주셔서 감사합니다. – smartcaveman

답변

0

코드를 다른 솔루션에 복사하여 해결했습니다. 되돌아 보면 나는 이것이 불필요하다고 확신한다. 돌아 보면, bin과 obj 폴더에서 모든 것을 삭제하면 문제가 해결되었을 것이라고 생각합니다.

0

반사판에 DLL을 모두 열고 & 네임 스페이스를 평평하게 (보기 -> 옵션 -> 브라우저 -> 네임 스페이스 평평하게).

문제의 원인을 파악하는 데 도움이되는지 확인하십시오.

+0

두 가지를 동시에로드 할 수는 없습니다. – smartcaveman

+0

공통 키로 서명 된 모든 어셈블리도 있지만 도움이되지는 않습니다. – smartcaveman

+0

왜 BluePrint & Domain을 다른 어셈블리 또는 dll 파일로 불러 들일 수 있습니까? – shahkalpesh

1

이유를 설명 할 수 없지만 동일한 네임 스페이스를 정의하고 프레임 워크 3.5를 사용하는 두 개의 클래스 라이브러리 프로젝트가있는 프로젝트가 있습니다. 나는 NET Framework 4.0 클라이언트 프로파일을 사용하는 프로젝트에서 그들을 참조하고 당신이 가진 오류가 발생했습니다. NET Framework 4.0으로 설정하면 효과가있었습니다.

0

방금이 문제가 발생했습니다. 모든 프로젝트가 동일한 버전인지 확인해야합니다. 다수의 광산은 .net 4.0과 4.5의 조합이었습니다. 그들에게 4.5에 대한 모든 언급을 내게 문제를 해결하게했다.

관련 문제