본문 바로가기

Programming/VisualStudio

Visual studio build rebuild clean 정리

반응형

Build solution -> 필요하다고 판단되는 것들만 빌드한다.

필요 판단의 예시로는 변경사항이 있는 프로젝트나 빌드 이력이 없는 프로젝트 등이 있다.

 

Rebuild solution -> 솔루션 전체를 정리하고 빌드한다.

 

Clean solution -> 빌드 결과물을 정리한다.

빌드 대상 디렉터리(bin, obj)의 상태에 따라 Clean 결과가 상이하다.

실제로 Clean을 수행했음에도 bin, obj 폴더를 직접 지워줘야 하는 경우가 제법 있다.

 

빌드가 꼬여 정리 후 다시 빌드를 하고 싶을 때

Rebuild를 하면 될까 아니면 Clean Build를 하면 될까?

 

아래는 한 솔루션에 A, B라는 Project가 있다고 가정하고

RebuildClean+Build의 차이점을 나타낸 그림이다.

Rebuild VS Clean + Build

 

Rebuild는 프로젝트 단위로 정리, 빌드를 반복한다.

Clean + Build는 전체 프로젝트를 싹 Clean 하고 다시 싹 Build 한다.

 

Rebuild의 경우 예시로 ProjectA 가 ProjectB에 디펜던시가 있는 경우

Clean Project A 이후 Build Project A를 수행할 때 A는 여전히 Clean + Build 전의 Project B를 참조하고 있을 것이기 때문에 문제가 발생할 수 있다.

 

다시 말해 Rebuild보다 조금 귀찮더라도 맘 편히 CleanBuild를 하면 되겠다. 

 

ref : https://stackoverflow.com/questions/3095901/difference-between-build-solution-rebuild-solution-and-clean-solution-in-visua

 

반응형