0

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# 프로젝트와 같이 동적으로 변경되도록하는 설정이 있습니까?

+0

동적으로 출력 디렉토리를 업데이트 :

여기에 내가이 배운 링크입니다 (난 단지 하나 있었다)? 구성에 따라 릴리즈/디버그를 의미합니까? 그것은 C++과 C# 모두 동일해야합니다. – Isaiah4110

+0

많은 빌드로 작업하면서 눈치 챘을 한 가지는 프로젝트 속성의 많은 매크로 값이 기본 템플릿에 의해 변경된다는 것입니다. 이렇게하면 출력 디렉토리를 C : \ Builds \ 1 \ ProjectCollectionName \ DefinitionName과 같이 변경할 수 있습니다. 즉, 기본 출력 디렉토리가 아닌 빌드 스테이징 영역에 출력 될 수 있습니다 (적어도 이것은 내 이해입니다). 따라서이 문제를 해결하기 위해 C++ 출력을 놓기 위치에 복사하기위한 빌드 템플릿에 액티비티를 추가 할 것입니다. – Freestyle076

답변

0

솔루션을 마우스 오른쪽 단추로 클릭하고 구성 관리자를 엽니 다.

일단 빌드하면 빌드해야 할 프로젝트와 빌드 할 플랫폼을 지정할 수 있습니다. DEBUG 구성을 열면 C++ 프로젝트 구성 방법 (구성, 플랫폼 및 빌드 필요 여부)을 알 수 있습니다. 빌드 내에서 사용중인 "구성"에 대해 동일한 설정을 복사 할 수 있습니다 정의.

빌드 정의를 열고 -> 편집 빌드 정의 -> 처리 -> 항목 빌드 -> 당신이

여기에서 구성을 선택 빌드 (고화질)을 열 수 있습니다 -> 고급 - -> 설정 MSBUILD를> 프로세스로 이동 플랫폼을 "x86"으로 지정하십시오. 이 문제를 해결해야합니다.

+0

새로운 아이디어가 도움이되지 않았습니다. /. 그러나 그동안 나는 흥미로운 것을 발견했다. 내 문제는 출력 디렉토리와 관련이있을 수 있습니다. 내 주된 좌절감은 내 빌드 정의 위치의 드롭 다운 위치에서 내 C++ 출력 파일을 볼 수 없다는 것입니다 (이전에는이 ​​프로젝트가 빌드되지 않았기 때문에 생각한 것입니다). 그러나 출력 바이너리를 C++ 프로젝트의 즉각적인 bin 폴더에서 삭제하고 솔루션의 빌드 정의를 실행하면 바이너리가 바뀝니다 (빌드 명령을 게시 할 예정이 아니란 것을 확인했습니다). 출력 폴더의 값이 올바르게 업데이트되어서는 안됩니다. 더 빨리 – Freestyle076

+0

좋은 소식이 있습니다 (다소?), 빌드 정의가 C++ 프로젝트를 빌드하는 데 문제가없는 것처럼 보입니다. C++ 프로젝트 파일은 프로젝트 파일의 즉각적인 bin \ [debug/release]에 출력을 배치하도록 설정됩니다. C# 프로젝트의 빌드 정의를 실행할 때 출력 값은 빌드 서버의 빌드 스테이징 영역으로 동적으로 변경됩니다. 출력이 변경되지 않고 단순히 프로젝트에서 로컬로 msbuild를 실행 한 것처럼 출력이 정확하게 실행되므로 C++ 프로젝트에는 이러한 현상이 발생하지 않는 것으로 보입니다. 그래서이 게시물을 업데이트 할 새로운 질문이있는 것 같습니다. – Freestyle076

0

응답 해 주셔서 감사합니다. 불행히도 필자는 구성 관리자에게 여러 번 언급했습니다. 솔루션은 C# 및 C++ 프로젝트가 혼합되어 있으므로 현재 실행중인 구성/플랫폼은 디버그/혼합 플랫폼입니다. 모든 프로젝트가 빌드되도록 선택되었으며, C++ 프로젝트 만 대상으로하는 DEBUG/WIN32 빌드 정의를 실행했고 각 C++ 프로젝트와 관련하여 로그에서받은 유일한 출력은 다음과 같습니다.

C : \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE .... \ vc \ vcpackages \ VCBuild.exe/override : C : [솔루션 경로] .Win32.Debug.vsprops C : [경로 to project file] "Debug | Win32"

이것은 내 C++ 프로젝트에 관한 로그 파일의 유일한 출력입니다. 빌드 프로세스가 시도하고있는 아이디어?

+0

빌드 서버에 로그인 할 수있는 권한이 있습니까? Visual Studio를 열고 프로젝트를 컴파일하고 어떻게되는지보십시오. – Isaiah4110

+0

항상 여러분이 시도한 모든 것을 언급해야합니다. 그렇지 않으면 질문에 답하는 사람들이 알지 못할 것입니다. – Isaiah4110

+0

MSBuild를 사용하여 C# 및 C++ 프로젝트가 포함 된 솔루션 파일을 직접 빌드 할 때마다 서버를 빌드했습니다. . 내 문제는 빌드 정의를 사용하여 솔루션을 빌드 할 때만 발견됩니다. 빌드 정의와 빌드 정의만으로도 어떤 이유로 든 내가 게시 한 로그 메시지와 같은 좋지 않은 결과를 생성합니다. 내가 시도한 다른 모든 빌드는 잘 작동합니다. 빌드 서버의 msbuild, 빌드 서버의 vcbuild, 솔루션 파일을 마우스 오른쪽 단추로 클릭하고 빌드 서버에서 Visual Studio 2008의 다시 작성을 클릭합니다. 모두 잘 작동했습니다. – Freestyle076

0

나는 당신 문제가 방금 나 자신과 마주 쳤다고 생각한다. 기본적으로 TFS2012는 프로젝트에서 정의한 것과 다른 빌드 출력 구조를 사용합니다.

출력 디렉토리가 "Debug"또는 ".... \ Debug"등일 것으로 예상되는 경우 실패합니다.

해결 방법은 텍스트 편집기에서 빌드 프로세스 템플릿 xaml 파일을 여는 것입니다. "OutDir"을 검색하고 해당 항목을 삭제하십시오.

는 C# 프로젝트를 무슨 소리

http://blogs.msdn.com/b/jimlamb/archive/2010/04/13/customizableoutdir-in-tfs-2010.aspx

http://social.msdn.microsoft.com/Forums/vstudio/en-US/7126f1a3-9437-416a-88ed-2f63f84b2937/tfs-buildmsbuild-2010-bin-folder-auto-redirection-to-binaries-folder-not-redirecting-all-projects?forum=tfsbuild

관련 문제