프로젝트의 빌드 출력 경로를 기본값 "bin \ debug"에서 수정해야하는 좋은 이유가 있습니까? 솔루션 내에서 모든 프로젝트를 공통 빌드 출력 위치로 지정하면 어떤 이점이 있습니까?Visual Studio의 기본 빌드 출력 경로 변경
답변
예, 보통 일 때 항상 입니다. Harry가 말했듯이, 디스크 공간 사용을 줄입니다. 디스크 공간이 엄청나게 적기 때문에 그다지 큰 문제는 아니지만 문제가 될 수 있습니다. 배포가 어떻게 생겼는지 더 잘 미러링하려면 실제 이유가 있습니다. 이를 수행하는 가장 좋은 방법은 출력 디렉토리를 $(SolutionDir)/build/bin
으로 수정하는 property sheet입니다. 이 후, 작업 디렉토리를 $(SolutionDir)/build
으로 설정합니다. 이는 다양한 프로젝트 디렉토리 사이에 퍼져있는 것보다 전개되는 것과 동일한 전체 구조입니다.
build
|-- bin
| |-- foo.exe
| |-- libfoo.dll
| `-- libbar.dll
|-- plugins
| |-- extender.py
| `-- something.lua
`-- skins
|-- default.skin
`-- white-and-gold.skin
전반적으로, (오히려 소스보다) 구축 것들에 대한 고립 된 디렉토리를 갖는 것은 좋은 일이다. 궁극적 인 출력물이 어디 있는지 알고 버전 제어 시스템과의 통합을 용이하게하기 때문에 사용자 정의 빌드 단계 작성이 쉬워집니다. .exe
, .lib
, .so
에 대해 ignore
을 설정하는 대신 전체 디렉토리를 무시하도록 설정할 수 있기 때문에 버전 제어 시스템과 쉽게 통합 할 수 있습니다. , .dll
그리고 모든 작은 디렉토리마다 뭐든간에.
내 출력 디렉터리를 변경하는 주된 이유는 Visual Studio에서 만들어야하는 중복 어셈블리 수와 파일 복사본 수를 줄이는 것입니다. 프로젝트 A가 프로젝트 B를 참조하고 프로젝트 C가 프로젝트 A와 B를 참조하면 Studio는 A를 빌드하고 A를 B에 복사 한 다음 B를 빌드 한 다음 A와 B를 C에 복사하고 C를 빌드해야합니다. 이제 어셈블리 A, 어셈블리 B의 두 복사본과 C.의 하나의 복사본을 만듭니다. Visual Studio는 출력을 한 디렉터리로 가리키며 단순히 A, B, C를 차례로 만듭니다. 프로젝트의 수와 종속성의 복잡성이 커짐에 따라 얼마나 많은 디스크 공간과 시간이 소요되는지 생각할 수 있습니다.
예를 들어 "다른"프로그램과 함께 배포해야하는 updater.exe가 있습니다. 그래서 빌드 경로를 "다른"프로그램 빌드 경로로 설정했습니다. 그렇게하면 필자는 항상 최신 버전의 "updater.exe"를 가지고 있다는 것을 알 수 있습니다.
그 중 하나의 이유가 있습니다.
- 1. Visual Studio의 프로젝트 빌드
- 2. 출력 경로 변경
- 3. Visual Studio의 파이프 빌드 이벤트
- 4. Visual Studio의 빌드 후 이벤트에서 IIS 5 가상 디렉터리 변경
- 5. Visual Studio의 2 가지 빌드 옵션 사용
- 6. Visual Studio의 프로젝트 경로 관련 문제
- 7. Visual Studio에서 컬러 빌드 출력
- 8. 텍스트 파일에 대한 기본 "복사 출력 디렉터리"설정 변경
- 9. Visual Studio의 프로젝트 네임 스페이스 변경
- 10. Visual Studio의 특정 솔루션 용 기본 브라우저
- 11. Visual Studio의 기본 웹 브라우저를 어떻게 변경합니까?
- 12. Visual Studio의 공용 디렉토리에 모든 출력 dll을 배치하십시오.
- 13. Visual Studio의 Qml
- 14. Bash 스크립트에서 stdout으로 파일 출력 경로 변경
- 15. Visual Studio의 $ (xxx) 매크로 목록
- 16. Visual Studio의 빌드 시스템에 Makefile과 같은 조건부 논리 추가하기
- 17. Visual Studio 2010 내에서 빌드 출력 캡처
- 18. Eclipse의 기본 라이브러리 빌드 경로 변수
- 19. Visual Studio의 "대상 프레임 워크"
- 20. Visual Studio의 클래스보기 자동 동기화
- 21. Visual Studio의 CSS Intellisense - 절대 경로 및 마스터 페이지
- 22. 여러 출력을 가진 Visual Studio의 사용자 지정 빌드 규칙
- 23. $ (SolutionDir)을 * Undefined *로 대체하는 Visual Studio의 미리 빌드 이벤트 *
- 24. 기본적으로 어떤 파일을 Visual Studio의 내용으로 빌드 속성을 변경합니까?
- 25. Visual Studio의 빌드 구성을 기반으로 어셈블리 참조를 지정하는 방법이 있습니까?
- 26. Visual Studio의 XML 태그 색상
- 27. VS 2010 기본 스킨 변경
- 28. Visual Studio의 OMPTL은 무엇입니까?
- 29. Visual Studio의 MSDN 링크
- 30. Visual Studio의 스트레스 테스트
필자의 진정한 요점은 Visual Studio가 복잡한 종속성으로 같은 파일을 복사하는 시간에 관한 것이 었습니다. 디스크 공간은 부수적이었습니다. 그러나 나는 나의 대답을 말한 방식이 각각에 대해 거의 같은 무게를 준다고 생각한다. –