업무 중 솔루션을 커맨드로 빌드 해야 할 일이 생겼다.

 

문제는 해당 솔루션을 순서에 맞게 각각 프로젝트 단위로 빌드를 해야 하는데..

 

각각 프로젝트를 devenv "SolutionPath" /rebuild "Debug_x64|x64" /project "ProjectName"

 

위와 같은 형식으로 리빌드를 요청 하면 종속성이 묶여 있는 프로젝트까지 모두 다시 빌드를 하는 문제가 있었다.

 

몇시간 구글링을 해본 결과 MSBuild 를 이용해서 해결 할 수 있었다.

 

사용한 MSBuild 는 4.0이다.

 

MSBuild "SolutionPath" /p:Platform=x64;Configuration=Debug_x64 /p:ProjectReferences=false /t:"ProjectName:Rebuild"

 

위와 같이 /p 옵션 중에 ProjectReferences 옵션을 false 로 해주면 프로젝트 종속성은 무시 하고 해당 프로젝트만 빌드 한다.

 

MSBuild 의 /p 옵션은 해당 프로젝트 파일 xxxx.vcxproj 파일을 메모장등으로 열어보면 XML 형태로 작성 되어 있는것을 볼수 있는데

 

이중 Element 의 이름을 의미 하는것같다.

 

 

MSBuild 의 자세한 사항은 MSDN 을 참고하면 된다.

 

http://msdn.microsoft.com/ko-kr/library/ms171486.aspx

 

 

 


다른 카테고리의 글 목록

Programming/Visual Studio 카테고리의 포스트 목록