2012-09-05 3 views
5

약 100 개의 프로젝트로 구성된 Visual Studio 솔루션이 있습니다. 대부분은 종속성 계층 구조를 형성합니다. 이제 프로젝트에 대한 단일 .cs를 변경하고 빌드하면 변경 여부와 상관없이 모든 종속 프로젝트도 빌드됩니다. Visual Studio가 변경된 프로젝트 만 빌드하도록하는 방법이 있습니까? 나는 많은 것을 재건하여 약간의 변화를 할 때마다 분을 낭비하고있다. 큰 시간을 더합니다!Visual Studio 빌드 시간 단축

+0

당신이 아무것도 망가뜨리지 않았는지 확인해야하기 때문에 그가 의존 프로젝트를 재건해야한다는 것은 논리적입니다. SSD를 가지고 있는지 모르겠지만 SSD (빌드 타임이 상당히 짧음)가 도움이되었습니다. – Styxxy

+0

디버깅에서 발생할 수있는 문제로 인해 비실용적 인 문제가 발생할 것이라는 것을 확신합니다. – Stuporman

+1

솔루션에 100 개 이상의 프로젝트가 있고 긴 빌드 타임으로 변화하는 것은 설계/조직상의 문제입니다. 어느 시점에서 카드 하우스의 기초를 바꾸지 않습니까? 당연히 당신은 1000 포인트를 뺀 비용을 지불해야합니까? 어쨌든 프로그래머의 Q + A 사이트에 적합한 것은 아무것도 없습니다. 도구를 비난 할 수는 없지만, 사용자가 요구하는대로 작동합니다. 자신의 혐오감을 팀원과 건축가에게 전달하십시오. 우리는 그걸 도울 수 없어요, 우리는 당신만큼 똑딱 거리지 않습니다. –

답변

4

아니요, 이렇게하는 좋은 방법은 없습니다. 증분 건물이 때때로 발생하지만 (Visual Studio 2010 이상) 보장은 없습니다.

성숙한 프로젝트를 어셈블리로 컴파일하고 불안정한 (현재 개발중인) 프로젝트에서 참조하십시오. 적절한 단위 테스트를 수행한다면 큰 문제는 아닙니다. 나누고 정복하십시오; 종속성을 먼저 완료하고 안정화시킨 다음 어셈블리에 커밋하십시오.

2

프로젝트 수를 줄이십시오.

각 프로젝트마다 DLL - 단위는 입니다. This is normally not needed.

코드를 논리적으로 정렬해야하는 경우 프로젝트 내에서 폴더를 사용할 수 있습니다.

또한 프로젝트 참조 대신 빌드 된 DLL을 참조하십시오.


이 제안은 작동 이유 :

  • 이하 DLL을 생산하고 있습니다.
  • 이러한 DLL에 대한 참조가 적기 때문에 더 적은 DLL을 복사해야합니다.
  • 다른 많은 프로젝트에서 참조하는 프로젝트는 각 참조 프로젝트마다 다시 컴파일됩니다. DLL을 프로젝트 참조 대신 사용하면 다시 컴파일되지 않습니다.
+0

동일한 코드 또는 그 이상의 코드를 다시 빌드해야하므로 빌드 속도가 느려집니다. – ssube

+0

@peachykeen - 시도해보십시오. 너는 놀랄 것이다. 덜 프로젝트 == 적은 DLL. 적은 DLL == 덜 복사하고 덜 재 컴파일. – Oded

+0

나는 소수의 대규모 프로젝트와 더 작은 프로젝트 모두에 대해 가지고있다. 나는 문제가 재구성해야하는 코드의 양이 될 때 도움이되지 않습니다. 파일 복사는 이런 종류의 문제를 야기 할 정도로 비싸지 않습니다. 더 큰 프로젝트가 (항상) 벗어나지 않는 계단식 재 컴파일입니다. – ssube