Visual Studio (2008) '클린 솔루션'옵션


답변:


109

솔루션과 관련된 모든 컴파일 및 임시 파일을 삭제합니다. 변경된 파일 만 재 컴파일되는 것이 아니라 다음 빌드가 전체 빌드인지 확인합니다.


3
그렇다면 "빌드"와 "모두 다시 빌드"의 차이점은 무엇입니까?
Chad

2
3 개의 프로젝트가있는 솔루션을 상상해보십시오. 빌드는 마지막 빌드 이후 변경된 프로젝트 만 컴파일합니다. 다시 빌드하고 모든 것을 컴파일합니다.
BigJump 2011 년

18
Rebuild Solution은 기본적으로 Clean Solution을 실행 한 다음 Build Solution을 실행하는 것과 동일합니까?
Joey Green

5
Rebuild Solution은 실제로 빌드하기 전에 청소를 수행합니까, 아니면 청소가 먼저 완료된 것처럼 모든 것을 빌드합니까?
Homer

2
@JoeyGreen 아니요. 솔루션을 정리하고 빌드하면 먼저 모든 프로젝트를 정리 한 다음 모든 프로젝트를 빌드합니다. 다시 빌드하면 한 번에 하나의 프로젝트를 가져 와서 정리하고 빌드합니다. 일단, 나는 몇 가지 프로젝트 종속성 때문에 ... 대신 클린 & 빌드의 다시 사용 만남 이상한 문제를했습니다
relaxxx

61

이전 컴파일 / 빌드 중에 생성 된 모든 오브젝트 코드를 삭제합니다. 아래 종류의 파일을 모두 삭제합니다.

* .obj-객체 코드

* .pdb-프로그램 디버그 databse 파일

* .bsc-소스 브라우저 데이터베이스

* .ilk-증분 링커 파일

* .sbr-소스 브라우저 중간 파일

* .idb-종속성 파일 재 구축

* .lib-라이브러리 파일

* .exe-실행 가능

JFYI-Rebuild All 명령도이 모든 작업을 수행 한 다음 전체 소스 파일 세트를 빌드합니다.

-기원 후


11

나는 이것이 코멘트가되기를 원했지만 분명히 50 담당자가 필요합니다.

다른 사람들에게 경고하기 위해 재구성 솔루션이 직접 청소하지 않는다는 것을 알았습니다. 나는 종종 그것을 정리하고 그것이 작동하기 위해 그것을 빌드 / 재 빌드 할 필요가 없을 것이다. 나는 그것이 스스로를 정리하지 않고 전체 컴파일을 강제하고 모든 것을 재정의하지만 여분을 제거하지는 않는다고 생각한다.

rebuild가 코드 현명한 작업을 수행하는 것을 조사하지 않았으며 다른 사람이 동일한 문제를 가지고있는 경우 일반적인 관찰 일뿐입니다.


2
재 구축하기 전에 청소가 필요한 여러 번이 문제를 보았다 -이 문장에 동의
Swordblaster

5

이것은 오래된 게시물이지만 언급 할 가치가 있다고 생각했습니다. Silverlight로 코딩 할 때 보통 Blend와 VS2010을 동시에 엽니 다. 그 때문에 때때로 VS2010이 깜짝 놀라고 IntelliSense가 물건이 어디에 있는지 또는 무언가를 찾을 수 없기 때문에 많은 오류를 잘못 강조 표시합니다.

솔루션을 청소하면이 문제가 해결됩니다.



2

용액을 청소할 때주의하십시오. 솔루션을 정리할 때 프로젝트에서 라이브러리 (예 : nhibernate)를 참조하고 해당 라이브러리에 종속성 (예 : iesi.collections)이있는 경우 iesi.collections를 다시 빌드하더라도 삭제되는 것을 볼 수 있습니다. 솔루션을 선택하고 해당 dll을 폴더에 다시 넣어야합니다. 또는 iesi.collections를 참조하고 속성에서 copy-local : yes 옵션을 선택할 수도 있습니다.


5
모든 libs를 'Bin'이 아닌 특정 폴더로 이동하거나 NuGet을 사용하는 경우 문제가되지 않습니다
bbqchickenrobot 2011 년

확실이 아니 그러나 보통의 bin 폴더에 위치한 (당신이 nuget 및 iesi.collections를 통해 fluentnhibernate이없는 점점 시도 할 수 있습니다)
ersanbilik

0

참고로 Clean 또는 Rebuild는 빌드 전 명령 중에 복사 된 파일과 같은 빌드되지 않은 파일을 삭제하지 않습니다. 나는 그것에 대해 혼란 스러웠다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.