우리는 많은 인터페이스와 기본 기본 구현을 정의하는 프레임 워크를 가지고 있습니다. CompanyFramework라고 부르 자. 현재 별도의 CompanyFramework.Web.Mvc 프로젝트에 저장되어있는 ASP.NET MVC 확장이 있습니다. 그 이유는 핵심 프레임 워크를 사용하지만 MVC와 아무 관련이없는 응용 프로그램이 ASP.NET MVC 라이브러리를 참조 할 필요가 없기 때문입니다. 여분의 어셈블리에는 3-4 개의 클래스 파일 만 포함되어 있으므로이 설정이 마음에 들지 않지만 기본 프레임 워크 어셈블리에 불필요한 종속성을 피하는 가장 깨끗한 방법이었습니다..NET 프로젝트/네임 스페이스 조직 질문
이제 우리는 ASP.NET MVC, 즉 사용자 지정 컨트롤러 팩터 리 및 모델 바인더 유형 항목에 사용되는 일부 StructureMap 관련 확장을 제공합니다. 너 어디서 그런 걸 넣을거야? CompanyFramework.Web.Mvc 프로젝트에 그냥 던져 넣을 수 있습니다. 그러나 사용중인 ASP.NET MVC 프로젝트는 StructureMap 어셈블리에 대한 참조를 사용합니다. 또한 별도의 CompanyFramework.StructureMap 프로젝트를 만들 수도 있지만, ASP.NET MVC에 의존하지 않는 StructureMap의 확장을 개발하는 경우에는 해당 클래스를 사용하는 클래스에 대해 MVC 어셈블리를 참조하는 데 여전히 빠져 있습니다.
별도의 CompanyFramework.Web.Mvc.StructureMap 프로젝트를 만들어야합니까? 이 접근법은 전반적으로 가장 깨끗하게 보입니다.하지만 전반적인 프로젝트 구조가 어지럽게 흩어지는 가벼운 위성 어셈블리를 소개하기 시작했습니다.
문제가있는 경우 솔루션 폴더를 사용하여 IDE 혼란을 관리 할 수 있습니다. – CoderDennis