(VS 2005)에는 성능 문제를 일으킬 수있는 최대 프로젝트 수가 있습니다. 현재 최대 25 개의 프로젝트가 있으며 성장하고 있습니다. 우리는이 바이너리를 참조하거나 우리의 어플리케이션 로직을 너무 많은 프로젝트로 나눠야 하는가? 최근에는 성능 문제가 큰 것으로 보입니다. 실행 시간에 당신을 요할 수솔루션 내에서 가장 많은 수의 프로젝트
답변
데 너무 많은 DLL 파일은 그래서 당신이 프로젝트의 양을 최소화하기 위해 노력하는 것이 좋습니다 것입니다. 여러 솔루션을 만드는 것도 옵션이지만 솔루션을 서로 독립적으로 만들어 여러 솔루션에서 새로운 기능을 디버깅하고 구현할 필요가 없어 번거로울 수 있습니다. Project anti-pattern: Many projects in a Visual Studio Solution File :
이 문서를 살펴 보자.런타임이 아닌 빌드시 비용이들 것입니다. 그리고 더 적은 것이 더 빠르지 만, 아마 당신은 항상 그것들 모두를 빌드하지 않습니다. 그렇다면 금액을 줄여야합니다. 그렇지 않으면 다른 해결책으로 그들을 나눕니다. 만 빌드 서버는 그들과 매일 빌드의 모든 밤새 종속성의 체인이 모두 25 개 프로젝트를 통해 있는가 ;-)
구축했다 구축해야합니까? 일부 프로젝트가 다른 프로젝트에 종속되지 않는 경우 자체 솔루션에 배치하십시오. 당신이없는 한 일반적으로하지 않습니다 경우
는 전체 솔루션을 컴파일하지 마십시오. 일반적으로 방금 수정 한 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 컴파일하면됩니다. VS는 어떤 종속 프로젝트를 다시 컴파일해야하는지 파악할 것입니다.
중단 점에 도달 할 계획이 아니라면 "디버깅하지 않고 시작"을 사용하십시오.
일부 DLL은 안정적이며 오랜 시간 동안 변경되지 않았습니까? 그들은 당신의 해결책에있을 필요도 없습니다.
정말 그렇지 않으면 전체 솔루션을 검색하지 마십시오.
실제 제한은 인간의 마음입니다. 한 프로젝트에서 몇 개의 파일을 처리 할 수 있습니까? 또한 ndepends를 사용하여 종속성을 추적하지 않는 한, 한 프로젝트에서 많은 클래스를 사용하면 다른 클래스에 따라 너무 많은 클래스가 생겨 변경이 더 어렵고 위험합니다.
는 일반적으로 우리는 당신이 느린 컴파일 시간과 느린 "프로젝트를 다시로드"시간이 시작, 10 후 (10) 아래의 솔루션 내 프로젝트의 양을 유지하려고합니다.
하지만 여기서 가장 중요한 문제는 26 개 프로젝트가있는 이유입니다. 간단한 웹 사이트는 하나의 프로젝트 만 가질 수 있지만 데이터 계층, 비즈니스 계층, 프레젠테이션 계층은 모두 같은 프로젝트 안에 있습니다.
만이 3 계층 물건 프로젝트를 분할하는 경우, 당신이를 수정하는 것이 좋습니다. 예를 들어 3 단계의 프로젝트가 3 개 있습니다. 별도의 어셈블리에서 3 티어를 사용하는 이유는 나중에 프로젝트에서 데이터 계층을 사용하기 위해 다른 소프트웨어를 실행하고 있기 때문입니다. 비즈니스 계층을 주요 프리젠 테이션 프로젝트 외부에두면 비즈니스 계층을 쉽게 단위 테스트 할 수 있으며 현재 계층 외부에서 쓸모없는 종속성을 유지할 수 있습니다.
전체적으로 프로젝트를 10 개 미만으로 유지하고 일부 프로젝트를 병합 할 수 있는지 검토하십시오. 컴파일시와 빌드시에 시간을 절약 할 수 있습니다. 또한 이러한 DLL을보다 쉽게 관리 할 수 있습니다.