반응형
Build solution -> 필요하다고 판단되는 것들만 빌드한다.
필요 판단의 예시로는 변경사항이 있는 프로젝트나 빌드 이력이 없는 프로젝트 등이 있다.
Rebuild solution -> 솔루션 전체를 정리하고 빌드한다.
Clean solution -> 빌드 결과물을 정리한다.
빌드 대상 디렉터리(bin, obj)의 상태에 따라 Clean 결과가 상이하다.
실제로 Clean을 수행했음에도 bin, obj 폴더를 직접 지워줘야 하는 경우가 제법 있다.
빌드가 꼬여 정리 후 다시 빌드를 하고 싶을 때
Rebuild를 하면 될까 아니면 Clean 후 Build를 하면 될까?
아래는 한 솔루션에 A, B라는 Project가 있다고 가정하고
Rebuild와 Clean+Build의 차이점을 나타낸 그림이다.
Rebuild는 프로젝트 단위로 정리, 빌드를 반복한다.
Clean + Build는 전체 프로젝트를 싹 Clean 하고 다시 싹 Build 한다.
Rebuild의 경우 예시로 ProjectA 가 ProjectB에 디펜던시가 있는 경우
Clean Project A 이후 Build Project A를 수행할 때 A는 여전히 Clean + Build 전의 Project B를 참조하고 있을 것이기 때문에 문제가 발생할 수 있다.
다시 말해 Rebuild보다 조금 귀찮더라도 맘 편히 Clean 후 Build를 하면 되겠다.
반응형