2017-10-19 13 views
2

빌드 서버에 Visual Studio 2017 용 MSBuild (15.4.0) 도구를 설치했습니다.MSBuild 15 도구 버전이 허용되지 않습니다.

C : \ Program 파일 (x 86) \의 Microsoft Visual 스튜디오이를 위해 나는

Visual Studio Downloads

MSBuild.exe를 경로가에서 "비주얼 스튜디오 2017에 대한 빌드 도구"라는 제목의 링크를 사용 \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin

이 경로는 환경 변수 'path'에 추가했습니다. GenerateBuildInfoConfigFile = 거짓 : /tv:15.0 /P 빌드 :/t '\ MyApplication.sln ..'

은 MSBuild :

는 내가 빌드 작업의 본문으로 다음과 PowerShell 스크립트를 가지고

:이은 (모든 인 TeamCity에 의해 처리) 나는 로그에 다음과 같은 찾을 실행될 때, RunCodeAnalysis = 진정한 /p:VisualStudioVersion=15.0

그러나 :/P : 구성 = /P 릴리스

MSBUILD : 오류 MSB1040 : ToolsVersion이 유효하지 않습니다. 공구 버전 "15.0"은 인식 할 수 없습니다. 사용 가능한 도구 버전은 "2.0", "3.5", "4.0"입니다.

documentation은 15.0이 정확해야한다고 제안합니다. 이 상태 What's New in MSBuild 15에 2017 년 문서에서

편집 :

MSBuildToolsVersion을 도구의이 버전은 15.0입니다. 어셈블리 버전은 15.1.0.0입니다. 그러나

, 2017 문서 MSBuild Command Line Reference 상태 : MSBuild를 4.5를 들어

, 당신은 버전에 대해 다음 값을 지정할 수 있습니다 2.0, 3.5 및 4.0. 4.0을 지정하면 VisualStudioVersion 빌드 속성이 사용할 하위 도구 집합을 지정합니다. 자세한 내용은 도구 세트 (도구 버전)의 하위 도구 세트 섹션 을 참조하십시오.

MSBuild 15 또는 MSBuild 4.5 ...라는 용어가 약간 혼란 스럽습니다.

+1

PATH, 좋은 의도의 파괴자. "where msbuild.exe"를 입력하면 잘못된 정보가 먼저 표시됩니다. –

+0

@ 한 : C : \ Users \ Me> 여기서 msbuild.exe ** C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ MSBuild.exe ** – DrGriff

+0

CMD에서 빌드 명령 줄을 직접 실행하는 것은 어떻습니까? 내 편이 그 길을 설정하고 Visual Studio 2017 빈 프로젝트를 성공적으로 빌드합니다. Visual Studio 2017을 사용하여 빈 프로젝트를 만든 다음 위의 방법으로 빌드 서버를 빌드 할 수 있습니다. –

답변

0

마지막으로이 문제를 해결했습니다. 예, 경로가 잘못되었습니다.

솔루션

은 위의 powsershell 라인을 chaneg했다 :

$msbuild = 'C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe' 
    & msbuild '..\MyApplication.sln' /t:Build /m /p:GenerateBuildInfoConfigFile=false /p:Configuration=Release /p:RunCodeAnalysis=True /p:VisualStudioVersion=15.0