2010-07-26 3 views
0

A는 C# 프로젝트 파일에서 빌드 대상을 무시하는 방법을 설명하는 문서 (Extend the Visual Studio Build Process)를 발견했습니다. 나는 이것을 테스트했고 잘 작동하는 것 같다. 그러나, 정말로하고 싶은 것은 C++ 프로젝트 (Visual Studio 2005)의 빌드 타겟을 덮어 쓰는 것입니다. 문제는 C++ 프로젝트가 다른 XML을 사용한다는 것입니다. <project>을 루트로 가지는 대신 C++ 프로젝트의 루트는 <VisualStudioProject>입니다.Visual Studio C++ 빌드 프로세스 확장

The following error has occurred during XML parsing:

File: [Path to Project File].vcproj Line: 304 Column: 30 Error Message: Element 'Target' is unexpected according to content model of parent element 'VisualStudioProject'.

The file '[Path to Project File].vcproj' has failed to load.

가 어떻게이 C++ 프로젝트를위한 비주얼 스튜디오 빌드 대상을 재정의 할 수 있습니다 : 나는 C++ 프로젝트 파일에 <target> 태그를 추가하고 Visual Studio에서 프로젝트를 열려고하면,이 오류가? 아니면 C++ 빌드 중에 일어나는 일을 사용자 정의하는 더 좋은 방법이 있습니까?

답변

1

Visual Studio 2005에는 C++ 빌드 시스템이 MSBuild를 사용하지 않으므로 C++ 빌드 용 "대상"이 없습니다.

그러나, VC++ 2005가 정의하는 사전 구축, , 이벤트뿐만 아니라 사용자 정의 표준이 아닌 파일에 대한 단계 빌드 추가 할 수있는 기능을 포스트 - 구축 - 링크 사전.

이러한 설정을 사용하여 원하는 것을 얻을 수 있습니다.

참고 :

  • VC++ 2005 프로젝트는 그냥 비주얼 스튜디오가 상자 밖으로 무엇이다,은 MSBuild를 사용하여 구축 할 수 있습니다.
  • Visual Studio 2010은 모든 프로젝트 유형에 대해 MSBuild를 사용합니다.
+0

불행히도 "깨끗한"빌드를 수정하고 싶습니다. Pre-Build, Pre-Link 및 Post-Build로하고 싶은 일은 모든 빌드에서 항상 실행되기 때문에 달성 할 수 있다고 생각하지 않습니다. 빌드 유형에 따라 조건부 빌드 단계를 설정하는 방법이 없다면 내가 갇혀있는 것처럼 보입니다. – Brian