팀 도시 미충족 요구 사항 : MSBuildTools12.0_x86_Path가 있습니다.


117

x32 Server2008 Windows 컴퓨터에 TeamCity가 설치되어 있습니다. .net 4.5 웹 설치를 실행했습니다. 또한이 기사를 기반으로 x64 컴퓨터의 파일을 복사하여 vs2012를 설치할 필요가 없었습니다 (32 비트 컴퓨터에서 x86을 제거하는 경로를 변경했지만).

Visual Studio 2012 솔루션의 TeamCity에서 MSBuild

vs2012 또는 vs2010 프로젝트에서 msbuild에 대해 설정 한 빌드를 로컬 에이전트가 실행하도록 할 수없는 것 같습니다. 나는 계속 얻는다 :

충족되지 않은 요구 사항 : MSBuildTools12.0_x86_Path가 있습니다.

서버를 여러 번 다시 시작했고 에이전트도 다시 시작했습니다. 경로 변수를 조금 엉망으로 만들었지 만 내가 무엇을 놓치고 있는지 알아낼 수 없습니다. 구성 매개 변수도 살펴 보았고 다음을 볼 수 있습니다.

MSBuildTools2.0_x86_Path C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

MSBuildTools3.5_x86_Path C : \ Windows \ Microsoft.NET \ Framework \ v3.5

MSBuildTools4.0_x86_Path C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319

거기에서 12.0을 어떻게 얻습니까?


TeamCity에 여전히 문제가 있습니까?
Daniel Hollinrake 2013

이 문제를 파악하는 데 걸리는 시간 때문에 프로젝트를 보류해야했습니다. 봄에 다시 돌아오고 싶습니다.
archangel76

모든 것이 작동하는 데 시간이 걸렸습니다. 요점은 MSBuild를 설치하고 Web Deploy를 업데이트하는 것이라고 생각합니다.
Daniel Hollinrake 2014 년

답변:


149

MSBuild를 별도로 설치해야했고 에이전트를 다시 시작한 후 변수가있었습니다.

(MSDN 기사에서) MSBuild는 이제 .NET Framework의 일부가 아닌 Visual Studio의 일부로 설치됩니다. 현재 MSBuild 버전 번호는 12.0입니다. MSBuild를 별도로 설치하려면 MSBuild 다운로드에서 설치 패키지를 다운로드하십시오.

편집 : 답변 링크가 끊어졌습니다. 다음은 Microsoft Build Tools 2015 (가장 최근부터 오늘까지)에 대한 링크입니다. https://www.microsoft.com/en-us/download/details.aspx?id=48159


8
MSBuild12.0을 설치하려면 .NET Framework 버전 4.5.1 (여기에 있음 : microsoft.com/en-ca/download/details.aspx?id=40779 ) 이 필요합니다 .
Brandon

37
에이전트를 다시 시작하려면 1. 빌드 서버로 이동합니다. 2. 시작 메뉴에서 services.msc를 실행합니다. 3. TeamCity 에이전트를 찾고 서비스를 중지 한 다음 다시 시작하십시오. 노련한 TeamCity 수의사에게는 분명해 보일 수 있지만 나처럼 처음 사용하는 사용자에게는 그렇지 않습니다. :)
Chaim Eliyah

5
MS Build Tools 2013이 설치되어 있지만 MSBuildTools12.0_x86_Path 변수가 여전히 설정되지 않고 에이전트가 실행되지 않습니다. 수동으로 설정하는 방법이 있습니까?
bdaniel7

이 디렉토리로 이동하여 vcvars64.bat를 실행해야했습니다. C : \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64 그런 다음 msbuild가 저에게 효과적이었습니다.
user8128167

5
기본적으로 sln 파일 자동 검색을 사용하고 솔루션이 Visual Studio 2013으로 설정되었을 때 기본적으로 에이전트에 설치된 Visual Studio 2015로 변경했습니다.
ptittof57

33

약간 늦게 대답했지만 프로젝트가 VS 2012에서 생성되었으며 자동 감지 된 솔루션 파일 빌드 단계를 사용하는 경우 해당 단계를 편집하고 "Visual Studio"드롭 다운에서 "Microsoft Visual Studio 2012"를 선택하면이 문제가 해결됩니다. 뿐만 아니라 (그리고, IMHO, 더 정확하게).


2
전혀 늦지 않았습니다! 오늘이 문제를했고 VS 2015 VS 버전을 변경하는 것이 충족되지 않은 요구 사항 메시지를 제거있어
Sudhanshu 슈라을

이 새로운 서버 인 TeamCity (10) VS2015가 (2013 프로젝트 나이) 나를 위해 일한
Rippo

2
그래, 내 문제는 "URL에서 프로젝트 만들기"옵션에서 빌드 단계를 자동 감지하도록 선택할 때 Team City에서 잘못된 버전의 Visual Studio가 "자동 선택"되었다는 것이었기 때문에 빌드 단계로 이동하여 이 문제를 해결하려면 Visual Studio 버전입니다. 사람들이 jmw의 답변에 필요하지 않은 것을 설치하기 전에 먼저 답변을 확인하기를 바랍니다.
starmandeluxe

18

나는 같은 문제가 있었고 결국 MSBuild를 실행하기 위해 정의 된 빌드 단계가 잘못 구성되었다는 것이 밝혀졌습니다.

MSBuild 빌드 단계에서 "MSBuild ToolsVersion"설정이 12.0 (기본값)으로 설정되어 시스템에서 "Unmet requirements : MSBuildTools12.0_x86_Path exists"오류가 발생합니다. 빌드를 실행하는 데 새 MSBuild 12.0이 필요하지 않기 때문에 빌드 단계에서이 설정을 4.0으로 변경했습니다. 이 MSBuild 버전은 내 시스템에 올바르게 설치되어 있습니다. 이것은 나를 위해 문제를 해결했습니다.


10

나는 또한 파티에 조금 늦었지만 가난한 영혼을 돕기 위해 다음을 공유 할 것이라고 생각했습니다.

  • Windows Server 2012 R2 상자 에 TeamCity 8.1.4 를 새로 설치할 때 위에서 언급 한 오류가 발생했습니다.
  • 이 스레드의 지침을 따랐고 여러 번 다시 시작하고 다시 설치해도 오류가 계속 나타납니다.
  • 에이전트 세부 정보 페이지에 OS 및 CPU와 같은 에이전트 정보가 표시되지 않는 것을 확인했습니다. 이는 문제가 .NET 및 MSBUILD 전제 조건이 아니라 컴퓨터에 대한 정보를 읽을 수없는 에이전트 서비스와 관련이 있음을 나타냅니다.
  • 에이전트는 사용자 계정 ( TeamCity 문서에 따라 필요한 모든 권한 포함)으로 실행 중이었습니다. . 하지만 관리 도구> 서비스로 이동하여 로컬 시스템 계정으로 로그온을 변경하면 어떤 일이 일어날 지 알 것이라고 생각했습니다.
  • 에이전트 서비스를 다시 시작했습니다.
  • 훌륭한 성공.

에이전트를 로컬 서비스로 실행하도록 변경하면이 문제도 해결되었습니다. 그래도 이유를 이해하지 못합니다. 사용중인 사용자를 로컬 관리자 그룹에 추가하여 권한 문제인지 확인했지만 도움이되지 않았습니다.
user381624

8

MSBuild는 이제 Visual Studio의 일부입니다. 에이전트에 빌드 도구를 설치해야하지만 VS를 설치하지 않으려면 http://www.microsoft.com/en-us/download/ 에서 사용할 수있는 새 Microsoft 빌드 도구를 설치해야합니다 . details.aspx? id = 40760 .


1
참조 : Build Tools 2015 버전 링크 (언급 된 링크는 2013 도구 임).
Jeroen

그리고 여기에 2017 버전이 있습니다 (Visual Studio 2017 용 도구-> Visual Studio 2017 용 빌드 도구)
fuglede


2

내 보조 빌드 에이전트에서이 문제가 발생했습니다.

MSBuild를 설치하는 대신 기본 빌드 에이전트 PC에서 보조 빌드 에이전트 PC로 MSBuild 폴더를 복사했습니다 (여기에 설명 된 일부 Visual Studio 파일을 사용하여 수행 한 것처럼 : Visual Studio 2012 솔루션의 TeamCity에서 MSBuild).

그러나 TeamCity 에이전트 서비스는 시작할 때 레지스트리에서 MSBuild 항목을 확인하는 것 같습니다 (위에서 언급 한 Visual Studio 파일에서는이 작업을 수행하지 않는 것 같습니다). 다른 PC에서 파일을 복사하기 만했기 때문에 v. 12.0에 대한 MSBuild 항목이 없었기 때문에 TeamCity는 MSBuild 파일이 Program Files (x86) \ MSBuild 폴더에 있어도 발견하지 못했습니다.

http://www.microsoft.com/en-us/download/details.aspx?id=40760 위 링크에서 Microsoft Build Tools를 설치 한 경우 TeamCity가 레지스트리에서 v. 12.0 항목을 발견하고 에이전트는 기본 에이전트와 동일한 프로젝트를 빌드하십시오.

MS 빌드 도구를 설치 한 후 TeamCity 에이전트 서비스를 다시 시작해야합니다.


1

제 경우에는 Windows 2016 Server에 TeamCity Professional 2018.1이 있습니다. https://visualstudio.microsoft.com/downloads/ 에서 Visual Studio 2017 용 빌드 도구를 다운로드하고 빌드 도구에 대한 모든 옵션을 선택했습니다. 설치 후 MSBuild를 전역 PATH 환경 변수에 추가했습니다. 제 경우에는 C : \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin입니다.


0

제 경우에는 Visual Studio가 설치되지 않은 새 컴퓨터 였고 방금 다른 컴퓨터에서 Teamcity를 복원했습니다. 그래서 Visual Studio 2013을 설치하고 teamcity 에이전트 문제를 해결했습니다.


0

위에서 언급했듯이 자동 감지 된 빌드 단계가 잘못된 Visual Studio 버전을 선택했을 수 있습니다. 빌드 구성 설정 페이지의 빌드 단계 섹션에서 Visual Studio 드롭 다운을 사용하여 변경합니다 .

여기에 이미지 설명 입력


-1

레지스트리로 이동하여 버전 12가 아닌 MSBuild의 모든 항목을 삭제 한 다음 에이전트를 다시 시작하여이 문제를 해결 한 것 같습니다.

그렇게하려면 시작> 실행으로 이동하여 Regedit를 입력하십시오.

그런 다음 키로 이동합니다.

HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild

12.0을 제외한 모든 버전을 삭제합니다.

ToolsVersions로 이동하여 12.0이 아닌 버전을 삭제하십시오.


1
이것은 나쁜 생각입니다. CI / CD에서 마지막으로해야 할 일은 레지스트리로 재생하는 것입니다
goamn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.