Visual Studio 2012 빌드 정의를 TFS2012로 작업하고 있습니다. 하나의 정의가 .csproj와 .vcproj (C# 및 C++)가 모두 들어있는 솔루션을 빌드하도록 설정되어 있습니다. 빌드 서버에서 솔루션의 로컬 빌드를 실행할 수 있으며 훌륭하게 작동합니다. 빌드 출력은 모든 프로젝트 (가장 중요한 C++ 프로젝트)가 빌드되었음을 보여줍니다. prebuild, postbuild, 전체 9 야드. 그러나 매우 동일한 솔루션을 빌드하는 빌드 정의를 실행하면 C++ 프로젝트가 겉으로는 빌드되지 않습니다. 빌드 로그는 오류없이 반환되지만 빌드 로그는 C++ 프로젝트에 대해서만 다음을 반환합니다.vspproj와 함께 vcproj 빌드 TFS2012
C : \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE .... \ vc \ vcpackages \ VCBuild.exe/오버라이드 (override) : "[솔루션 파일 경로] .Mixed Platforms.Debug.vsprops"[경로 파일을 투사] "디버그 | Win32에서"이
은 내가 볼 바라고하는 것은 많이 더 오래 빌드 보고서 (프로젝트가 실제로 빌드되었음을 나타냅니다),하지만 아아 나는 C++ 프로젝트를 빌드하려는 시도가없는 것처럼 보입니다. C++ 프로젝트의 어셈블리 또는 .pdb는 빌드 출력에 포함되지 않습니다.
Visual Studio 2008을 설치하지 않은 상태에서 문제가 발생하지 않도록하려면 빌드 서버에 Visual Studio 2008이 설치되어 있고 올바른 복구 작업을 수행하여 올바른 파일이 모두 있는지 확인하십시오. vcbuild.exe 및 vcprojectengine.dll과 같은 것들).
C++ 프로젝트가 빌드되지 않는 이유는 무엇입니까? 어떤 도움을 주셔서 감사합니다!
UPDATE_ _ _ __ __ __ __ _ __ ____
문제가 변경되었다. 꽤 슬림 한 빌드 로깅 때문에 C++ 프로젝트가 빌드되지 않았다는 인상을 받았습니다 (지정된 빌드 정의 드롭 위치에서 프로젝트 출력을 보지 못했기 때문에이 아이디어로 실행되었습니다). 약간의 조사 (그리고 매우 유용한 제안!) 후에 C++ 프로젝트 출력 디렉토리 속성이 C# 속성으로 동적으로 변경되지 않는다는 문제가 집중되었습니다. 이 값을 수동으로 변경하고 빌드 정의를 실행하면 빌드 정의가 C++ 프로젝트 파일에 대한 기본 출력 디렉토리 속성을 사용함이 증명되었습니다.
제 임시 해결책은 이러한 출력을 필요한 폴더에 복사하는 간단한 스크립팅입니다. 추가로 내 게시물의 질문에 C# 프로젝트의 출력 디렉토리 속성이 C# 프로젝트와 같이 동적으로 변경되도록하는 설정이 있습니까?
동적으로 출력 디렉토리를 업데이트 :
여기에 내가이 배운 링크입니다 (난 단지 하나 있었다)? 구성에 따라 릴리즈/디버그를 의미합니까? 그것은 C++과 C# 모두 동일해야합니다. – Isaiah4110
많은 빌드로 작업하면서 눈치 챘을 한 가지는 프로젝트 속성의 많은 매크로 값이 기본 템플릿에 의해 변경된다는 것입니다. 이렇게하면 출력 디렉토리를 C : \ Builds \ 1 \ ProjectCollectionName \ DefinitionName과 같이 변경할 수 있습니다. 즉, 기본 출력 디렉토리가 아닌 빌드 스테이징 영역에 출력 될 수 있습니다 (적어도 이것은 내 이해입니다). 따라서이 문제를 해결하기 위해 C++ 출력을 놓기 위치에 복사하기위한 빌드 템플릿에 액티비티를 추가 할 것입니다. – Freestyle076