2010-03-17 3 views
3

명령 줄에서 devenv 또는 msbuild를 사용하여 VS2008 솔루션 파일을 빌드 할 때 빌드 지속 시간과 관련하여 성능 불일치가 발생합니다.msbuild가 devenv보다 느리다

내 솔루션은 C# 및 C++ 프로젝트를 모두 포함하며, 나는이 결과를 가지고 :

으로 Devenv.exe (명령 행 또는 IDE 내 중) : 칠분 MSBuild.exe를 : 14분

I을/maxcpucount 및/p를 전달하는 msbuild 스위치를 조정하려고 시도했습니다. VCBuildAdditionalOptions = m # 그러나 지금까지 행운이 없습니다.

아이디어가 있으십니까?

답변

1

VC 프로젝트에서 MSBuild가 느려질 수 있습니다. MSBuild 형식이 아니기 때문에 일부 병렬 체조를 수행 할 수 없기 때문에 체조를 수행합니다. 대신 성능이 필요한 경우 명령 줄 -devenv.exe/build에서 VS를 실행 해보십시오. VC 프로젝트가 기본적으로 MSBuild에 의해 구축되기 때문에 VS2010으로 업그레이드하면 성능이 다시 향상됩니다. 일반적으로 VS보다 빠릅니다.

물론 빌드 속도를 향상시키는 가장 중요한 방법은 변경된 사항 만 빌드하고 증분 빌드에 의존하는 것입니다. 대부분의 개발자는 대부분 증분 빌드를 빠르게 수행해야합니다. 다시 목표 기본 상세 레벨 이상 나타낸 바와 같이 병렬로 구축과 다수의 코어를 사용하는 옵션

MSBuild.exe를
+0

이것은 Visual Studio 2008 ('devenv.exe')에 VC++ 용 빌드 시스템이 내장되어 있거나 다른'make.exe'와 같은 다른 외부 도구를 사용하고 있다는 것을 의미합니까? – stakx

+1

VS2008은 MSBuild를 사용하지만 MSBuild가 VC++ 프로젝트를 감지하면 자동으로 VCBuild를 호출합니다. http://blogs.msdn.com/b/srikanthr/archive/2007/05/07/difference-between-msbuild-and-devenv.aspx –

0

실행중인 전체 msbuild 명령은 무엇입니까?

측면 출력으로 Quiet 또는 Minimal로 설정 한 결과가 있습니까? 그것은 빌드 시간을 조금 줄여줍니다 ...

IDE로 빌드하려면 7 분 !! 개인적으로 나는 제멋대로 갈 것입니다, 디버깅은 악몽이되어야합니다 : - |

+0

. 지금까지 명령 줄 스위치를 변경해도 효과가 나타나지 않고 눈에 띄는 효과가없는 것처럼 보입니다. – Simone

관련 문제