v120 용 빌드 도구 (플랫폼 도구 세트 = 'v120')를 찾을 수 없습니다.


103

Windows 8 x64에서 Visual Studio 2012를 사용하는 것은 msbuild가 .net으로 이동했기 때문에 발생하지만 아직 수정하는 방법을 보지 못했습니다.

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5):
error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.    
5>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.

1
CLI 팁 : preferred로 솔루션을 빌드하려면 PlatformToolset다음과 같이 재정의 할 수 있습니다 (VS2013) : "\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120(PowerShell을 사용하는 경우 &앞에 입력 \Progr..). VS2015, 그것은 될 것입니다 "\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"/p:PlatformToolset=v140등등합니다.
vulcan raven

답변:


73

http://en.wikipedia.org/wiki/Visual_C++

v110 인 Visual C ++ 2012를 사용하고 있습니다. v120은 Visual C ++ 2013을 의미합니다.

따라서 도구 집합 v110을 사용하도록 프로젝트 설정을 변경하거나이 컴퓨터에 Visual Studio 2013을 설치하고 VS2013을 사용하여 컴파일합니다.


70
하지만 ... 내 컴퓨터에 VS 2013이 설치되어 있어도이 오류가 발생합니다!
Tim Lovell-Smith

5
이 문제가 해결 되었습니까? 비슷한 문제가 있습니다. TFS Team Build에서 빌드하면 동일한 오류가 발생합니다. 그러나 VS 2013 IDE 및 VS 2013 명령 프롬프트에서 잘 빌드 할 수 있습니다.
Ike Starnes

여기에서 TFS 빌드 서버에 설치된 소프트웨어 목록을 확인했습니다. listofsoftwareontfshostedbuildserver.azurewebsites.net 여기서 이것이 작동 할 것이라고 가정합니다 (빌드해야한다고 생각하지만 아직 시도해 볼 필요는 없음). VS 2013은 실제로 설치되지 않고 일부만 설치되어 있습니다.
Redeemed1

6
빌드 서버에 VS 2013을 설치했지만 여전히 문제가 있습니다.
Redeemed1

4
솔루션에 여러 프로젝트가있을 수 있습니다. 따라서, 프로젝트 (안 용액)을 마우스 오른쪽 버튼으로 클릭하여 그들 모두의 속성을 확인 -> 구성 속성 -> 일반 -> 플랫폼 툴셋 (이 VS2013에)
픽셀

84

VS2013이 설치되어 있고이 오류가 발생하는 경우 잘못된 MSBuild를 호출 한 것일 수 있습니다. VS2013을 통해 Microsoft는 이제 Visual Studio의 일부로 MSBuild를 포함합니다. 자세한 내용은 이 Visual Studio 블로그 게시물 을 참조하세요.

특히 바이너리의 새 위치에 유의하십시오.

32 비트 컴퓨터에서는 C : \ Program Files \ MSBuild \ 12.0 \ bin에서 찾을 수 있습니다.

64 비트 컴퓨터에서 32 비트 도구는 C : \ Program Files (x86) \ MSBuild \ 12.0 \ bin에 있습니다.

C : \ Program Files (x86) \ MSBuild \ 12.0 \ bin \ amd64 아래의 64 비트 도구

MSBuild in %WINDIR%\Microsoft.NET\Framework\이 VS2013 (v120) 플랫폼 도구 집합을 인식하지 못하는 것 같습니다.


2
이 답변은 OP에 설명 된 것과 동일한 문제를 경험했을 때 저에게 올바른 대답이었습니다.
Boinst

12
MSBuild에 대한 경로를 어떻게 변경합니까?
rharrison33 2014 년

무엇을하려고합니까?
Kevin Richardson

2
@ rharrison33 VS2013 명령 프롬프트를 사용할 때 올바른 버전의 msbuild가 사용되었습니다. VS2012 명령 프롬프트를 실행하면 잘못된 msbuild 위치가 사용되었습니다. VS2013이 VS2012 명령 프롬프트를 설치 한 이유는 확실하지 않지만주의해야 할 사항입니다.
Jim Geurts

1
v120 도구 세트로 빌드하면 .NET을 사용할 때 VS2012 명령 프롬프트에서 작동합니다 C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe.
Kevin Richardson

69

Visual 2012를 사용하는 경우 프로젝트 이름-> 속성-> 구성 속성-> 일반-> 플랫폼 도구 세트-> Visual Studio 2012 (v110)를 마우스 오른쪽 버튼으로 클릭합니다.


1
이것은 내 경우에 해결되었습니다. VS2013을 사용해 본 다음 VS2012로 돌아 갔을 때이 문제가 발생했습니다. 솔루션의 모든 프로젝트에 대해이 작업을 수행해야합니다.
J. Peterson 2014

해결책과 지침이 포함 된이 게시물은 매우 명확하고 따라하기 쉽습니다 .. 2012 년에 너무 나빠서 v110 문제를 수정 한 후에도 여전히 오류 더미가 발생합니다. 2013 년에도 문제없이 동일한 C 코드를 실행할 수 있지만 2012 년에도 여전히 오류를 찾을 수 있습니다. 2012는 코딩 속도가 느려서 지금은 2013 년만 사용합니다.
T. Webster

플랫폼 도구 집합 및 Windows SDK 버전이 변경되었습니다. 작동했습니다!
Fırat Esmer


7

Kevin과 Lex의 답변을 추가하려면 :

개발자와 빌드 서버 모두 Visual Studio 2013을 사용하는 비슷한 상황이 발생했습니다. 우리의 솔루션에는 VS 2013 C ++ 프로젝트가 있었고 개발자의 컴퓨터 또는 IDE 내의 빌드 서버에서 빌드 할 때 제대로 컴파일되었습니다. 문제는 TFS 빌드 정의를 사용하여 빌드를 트리거 할 때 발생했습니다. 우리는 여전히 12.0 대신 이전 빌드 템플릿 (버전 11.1)을 사용하고있었습니다. 다행히 템플릿 xaml 파일에 간단한 속성 추가로 문제가 해결되었습니다. 시퀀스 부분 "Compile the Project"에는 다음으로 시작하는 xaml 노드가 있습니다.

mtbwa:MSBuild CommandLineArgument=....

Kevin의 대답에 따라 "ToolPath"특성을 추가하고 호출하려는 MSBuild.exe의 올바른 경로를 가리킬 수 있습니다. 예를 들면 :

ToolPath="C:\Program Files (x86)\MSBuild\12.0\Bin"


4

이것에 4 시간 이상을 낭비했습니다.

내가 가지고있는 비주얼 스튜디오 2017 엔터프라이즈 , 프로젝트 중 하나가 오류 아래에있다 :

v120 용 빌드 도구 (플랫폼 도구 세트 = 'v120')를 찾을 수 없습니다.

위의 오류를 해결하기 위해 아래 모두를 설치하려고했습니다.

그러나 위의 어느 것도 작동하지 않았습니다.

나중에 Visual Studio 2013 Ultimate를 설치 하면 모두 정상적으로 작동했습니다.

이 문제를 해결하려면 이전 Visual Studio가 필수 인 것 같습니다.

도움이되기를 바랍니다.


3

VS2013 C ++ 프로젝트를 VS2015에 오픈하고, "V120의 빌드 도구가 ... 찾을 수 없습니다"에 대한 경고가 될 때, 나는 단순히 편집에 .vcxproj 파일 변경 필요 <PlatformToolset>v120</PlatformToolset>에를 <PlatformToolset>v140</PlatformToolset>, 그리고 닫고 솔루션을 다시 엽니 다 .


1

VS 2012에서 "SMB2가 빌드되지 않음 : 오류 1 오류 MSB8020 : Visual Studio 2010 용 빌드 도구 (플랫폼 도구 집합 = 'v100')를 찾을 수 없습니다. v100 빌드 도구를 사용하여 빌드하려면 프로젝트 메뉴를 클릭하십시오. 또는 솔루션을 마우스 오른쪽 단추로 클릭 한 다음 "VC ++ 프로젝트 업데이트 ..."를 선택합니다. Visual Studio 2010 빌드 도구를 사용하여 빌드하려면 Visual Studio 2010을 설치합니다. "

바람에주의를 기울이고 제안을 시도했습니다. 솔루션 탐색기에서 솔루션을 선택한 다음 "VC ++ 업데이트"메뉴 항목을 클릭했습니다. 이것은 약간의 업데이트를 한 다음 성공한 빌드를 시작했습니다.

솔루션 메뉴에 "Update VC ++"메뉴 항목이 더 이상 나타나지 않습니다.


1

VS 2013 커뮤니티 업데이트 5를 제거하고 VS 2015 커뮤니티 에디션으로 전환했을 때 비슷한 문제가 발생했습니다.

그리고 Windows Phone 8.1 프로젝트에서 얻은 문제는 올바른 msbuild 도구 집합이없고 에뮬레이터가 설치되어 있어도 설치되지 않는다고 불평했습니다.

문제의 원인은 제어판에서 문제없이 제거 프로세스가 순조롭게 진행 되었음에도 불구하고 나를 위해 모든 것을 엉망으로 만든 마지막 제거로 인해 남겨진 VS 2013 커뮤니티 설정이라는 것을 알고 있습니다.

남은 파일을 제거하기 위해 최선을 다했지만 항상 남은 것이 있습니다.

그리고 나를 위해 그것을 고친 것은 새로운 Windows 10 x64 설치이며 VS 2015 커뮤니티 에디션을 설치 한 후 그게 다입니다! 나에게 더 이상 오류가 없으며 wp8.1 에뮬레이터도 잘 작동했습니다!

제 경우에는 이전 Visual Studio 설치 설정이 나를 위해 모든 것을 엉망으로 만들었고 VS 2013 커뮤니티 파일과 설정을 완전히 지우려고 시도한 방법이 없었기 때문에 가격을 지불하고 다시 설치해야했습니다. 내 OS.

마지막 Visual Studio 설치 파일을 완전히 지우는 방법을 찾을 수 있다면 OS 재설치를 피할 수 있습니다.

추신 : 가능한 모든 방법을 먼저 시도한 후이 솔루션 (OS 재설치)을 시도한 다음 아무것도 작동하지 않는 경우에만 ...이 솔루션을 최후의 수단으로 만드십시오.


VS 2015 커뮤니티를 새로 설치 하면이 오류가 발생 합니다. Microsoft에는 x64에 대한 올바른 경로가 없습니다.
Michaelangel007

0

VS2013에서 모든 프로젝트를 올바른 빌드 도구로 설정하려면 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "Retarget solution"을 선택할 수 있습니다. 모든 프로젝트가 변경되므로 (열린 대화 상자에서 확인란으로 확인한 모든 항목) 오류가 사라집니다.


그것을 시도했습니다. VS Community 2015에서 제 경우에는 도움이되지 않습니다. :-/
Michaelangel007

0

제 경우에는 Visual 2013 sln 파일을 두 번 클릭하고 Visual 2012가 열렸습니다 (Visual 2013 대신). 플랫폼 도구 집합이 "v120"으로 설정된 프로젝트에서 Visual 2012로 컴파일하려고하면 위에서 언급 한 오류가 표시되었습니다. 그러나 Visual 2013으로 sln을 다시 열면 Platform Toolset이 "Visual Studio 2013 (v120)"으로 설정되었습니다. 이번에는 전체 이름을 기록해 두었습니다. 실제로 저를 위해 일했습니다. 이제 프로젝트가 잘 컴파일됩니다.


0

VS2015에서 USBView 프로젝트를 빌드 할 때 동일한 오류가 발생했습니다. 'Platform Toolset'설정을 "Visual Studio 2015 (v140)"로 선택하고 솔루션 (VS2015에서)을 마우스 오른쪽 버튼으로 클릭하고 'Retarget Solution'을 선택하고 해당 대화 상자에서 10.0.10240.0을 선택하여이 오류를 제거했습니다.

이전 프로젝트를 VS2012 VS 이후 업그레이드로 변환한다고 가정하는 Microsoft의 ProjectUpgradeTool도있는 것 같지만 내 컴퓨터에서 해당 도구를 찾을 수 없습니다.

이것의 도움으로 몇 가지 새로운 링커 오류를 수정해야합니다 .


0

비슷한 문제가있었습니다. VS 2015 커뮤니티 (MSBuild 14)에서 C ++ 앱을 빌드하고 VS 2010 (v100) 도구를 사용하려고했습니다. msbuild에 잘못된 구성 옵션을 제공하는 모든 것이 다운되었습니다. 이상한.

따라서 모든 옵션과 매개 변수를 다시 확인하십시오.


0

cmake, JUCE 등과 같은 make 생성기를 사용하는 경우 올바른 VS 버전 대상 (2013, 2015, 2017)을 설정하고 솔루션을 다시 생성 하십시오.


0

일부 프로젝트를 구축하는 동안 동일한 문제에 직면했습니다.

Visual Studio 2015 IDE 를 사용했는데 제대로 작동했지만 PowerShell 스크립트에서 빌드를 제공하는 동안 "v140 용 빌드 도구 (Platform Toolset = 'v140')를 찾을 수 없습니다." 와 관련된 도구 집합을 제공했습니다 . " 오류

결국 각 프로젝트에 대해 잘못된 MSBUILD exe를 가리키는 문제였습니다.

이전에는 $ MSBUILD = "C : \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe를 가리 켰습니다.

$ MSBUILD = "C : \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe"를 가리 키도록 스크립트를 업데이트했을 때 빌드가 성공적이었습니다.

따라서 문제를 해결하려면 올바른 MSBUILD를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.