문제

나는 2 개의 프로젝트가 있습니다.

프로젝트#2는 프로젝트#1에 대한 참조가 있습니다.

이제 프로젝트#1에서 프로젝트#2를 참조해야하지만 vs.net은 원형 의존성에 대해 불평하고 있습니다.

이것에서 벗어날 방법이 있습니까?

도움이 되었습니까?

해결책

절대적으로하지. 원형 의존성은 잘못된 디자인을 표시합니다. 나는 가혹한 것을 의미하지 않습니다. 이것에는 몇 가지 방법이 있습니다.

1) 공통 코드를 다른 프로젝트에 리팩토링 할 수 있습니다.

2) 디자인을 고칠 수 있습니다.

밥 삼촌은 acyclic 종속성 원칙을 포함하는 포장 원칙에 대한 좋은 기사를 가지고 있습니다. http://www.objectmentor.com/resources/articles/granularity.pdf. 왜 순환 종속성이 나쁜지 알아 보려면 이것을 읽으십시오.

다른 팁

프로젝트 #1과 프로젝트 #2 참조의 "프로젝트 #0"으로 공통 요소를 가져 오도록 프로젝트를 리팩터링하십시오.

둘을 하나 또는 재 설계로 병합하십시오.

이것은 디자인의 문제를 지적합니다. 두 개 이상의 유형이 상호 인식해야 할 필요가 있다면 동일한 어셈블리에 존재해야합니다.

아니요. 프로젝트를 올바르게 구성하십시오. 추상화에 따라 일종의 순서를 사용해보십시오-낮은 수준에서 높은 수준.

원형 의존성은 이들이 더 이상 두 개의 독립적 인 프로젝트가 아니라는 것을 의미합니다 (그 중 하나만 구축하는 것은 불가능하기 때문입니다).

일회성 의존성 만 있거나 단일 프로젝트에 합병해야하므로 리팩터가 필요합니다.

원형 참조 ~할 수 있다 a 이전 질문,하지만 당신 그렇게해서는 안됩니다 모두가 이미 여기에 언급 한 이유 때문에.

진짜 똑똑한 전반을 의미하지는 않지만 더 나은 프로그램 디자인이 해답입니다.

이것은 디자인 결함 인 것 같습니다. 재 설계는 솔루션입니다.

나는 그것이 좋은 해결책이라고 생각하지 않지만 여전히 우리는이 단계를 따르면 할 수 있습니다.

  • 참조를 추가하십시오
  • 찾아보고
  • DLL 프로젝트의 디버그 폴더로 이동하여
  • .dll을 찾고 추가하십시오.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top