2011-11-10 2 views
0

msbuild는 VDPROJ 파일을 지원하지 않지만 명령 행 devenv를 사용하여 빌드되었을 수도 있습니다.MSBuild create VDPROJ

내 솔루션에서 특정 설치 프로젝트를 시작한 후에 만 ​​msbuild 작업을 사용하여 모든 prjects (C#)를 빌드하려고합니다. 물론이 프로젝트는 이전에 생성 된 C# 프로젝트 (proj1, proj2, proj3의 출력)에 종속됩니다.

어떻게하면됩니까?

답변

1

AfterCompile (또는 AfterBuild) 작업을 재정의하고 devenv.exe의 Exec 명령을 추가하여 vdproj 파일을 컴파일합니다. devenv.exe/build/project를 실행하면 지정된 솔루션 내에서만 지정된 프로젝트가 빌드됩니다. 마지막 빌드 이후에 변경된 프로젝트 파일 만 빌드됩니다. 따라서 종속 프로젝트는 변경되지 않는 한 빌드되지 않습니다.

+0

프로젝트 출력이 실제로 변경된 경우 (예 : 코드 서명)는 어떻게됩니까? 그런 다음 devenv.exe를 호출하면 서명 된 구성 요소가 다시 작성되고 파일을 덮어 쓰며 코드 서명이 취소됩니다. 명시 적으로 devenv.exe에게 vdproj 종속성을 빌드하지 않도록 지시하는 방법이 있습니까? – l33t

+1

프로젝트 출력 파일을 만지지 마십시오. 코드 서명 전에 출력 파일을 다른 위치에 복사하십시오. – Ludwo