Die Build-Tools für v120 (Platform Toolset = 'v120') wurden nicht gefunden

103

Wenn Sie Visual Studio 2012 unter Windows 8 x64 verwenden, wird dies hauptsächlich dadurch verursacht, dass msbuild in .net verschoben wird, aber ich habe noch nicht gesehen, wie ich es beheben kann.

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.
clienthax
quelle
1
CLI-Tipp: Um eine Lösung mit den bevorzugten zu erstellen PlatformToolset, können Sie sie wie folgt überschreiben (VS2013): "\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120(Wenn Sie sich in PowerShell befinden, setzen Sie sie &vorher \Progr..). Für VS2015, wird es werden "\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"und /p:PlatformToolset=v140und so weiter.
Vulkanrabe

Antworten:

73

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

Sie verwenden Visual C ++ 2012, Version v110. v120 bedeutet Visual C ++ 2013.

Entweder ändern Sie die Projekteinstellungen, um Toolset v110 zu verwenden, oder Sie installieren Visual Studio 2013 auf diesem Computer und kompilieren es mit VS2013.

Lex Li
quelle
70
Aber, aber ... Ich erhalte diesen Fehler, obwohl ich VS 2013 auf meinem Computer installiert habe!
Tim Lovell-Smith
5
Hast du das gelöst? Ich habe ein ähnliches Problem. Wenn ich aus TFS Team Build baue, wird der gleiche Fehler angezeigt. Ich kann jedoch problemlos aus der VS 2013-IDE und einer VS 2013-Eingabeaufforderung erstellen.
Ike Starnes
Ich habe die Liste der auf den TFS-Build-Servern installierten Software hier überprüft : listofsoftwareontfshostedbuildserver.azurewebsites.net, wo ich davon ausgehe , dass dies funktionieren würde (ich vermute, dass dies erstellt werden sollte, aber ich muss es noch nicht ausprobieren). Ich stelle fest, dass VS 2013 nicht tatsächlich installiert ist, sondern nur einige Teile davon.
Eingelöst1
6
Ich habe VS 2013 auf dem Build-Server installiert und habe immer noch das Problem.
Eingelöst1
4
Beachten Sie, dass Ihre Lösung möglicherweise mehrere Projekte enthält. Überprüfen Sie also die Eigenschaften für alle, indem Sie mit der rechten Maustaste auf Projekt (nicht Lösung) klicken -> Konfigurationseigenschaften-> Allgemein-> Plattform-Toolset (dies ist auf VS2013)
Pixel
84

Wenn Sie VS2013 installiert haben und diesen Fehler erhalten, rufen Sie möglicherweise das falsche MSBuild auf. Mit VS2013 schließt Microsoft MSBuild jetzt als Teil von Visual Studio ein. Weitere Informationen finden Sie in diesem Visual Studio-Blogbeitrag .

Beachten Sie insbesondere den neuen Speicherort der Binärdateien:

Auf 32-Bit-Computern finden Sie sie unter: C: \ Programme \ MSBuild \ 12.0 \ bin

Auf 64-Bit-Computern befinden sich die 32-Bit-Tools unter: C: \ Programme (x86) \ MSBuild \ 12.0 \ bin

und die 64-Bit-Tools unter: C: \ Programme (x86) \ MSBuild \ 12.0 \ bin \ amd64

Der MSBuild in %WINDIR%\Microsoft.NET\Framework\scheint das VS2013 (v120) -Plattform-Toolset nicht zu erkennen.

Kevin Richardson
quelle
2
Diese Antwort erwies sich als die richtige Antwort für mich, als ich das gleiche Problem hatte, das im OP beschrieben wurde.
Boinst
12
Wie ändern Sie den Pfad zu MSBuild?
Rharrison33
Was versuchst du zu tun?
Kevin Richardson
2
@ rharrison33 Als ich eine VS2013-Eingabeaufforderung verwendete, wurde die richtige Version von msbuild verwendet. Beim Ausführen einer VS2012-Eingabeaufforderung wurde der falsche Speicherort für msbuild verwendet. Ich bin mir nicht sicher, warum VS2013 eine VS2012-Eingabeaufforderung installiert hat, aber es ist etwas, worauf man achten muss ...
Jim Geurts
1
Das Erstellen mit dem Toolset v120 funktioniert bei Verwendung in einer VS2012-Eingabeaufforderung, wenn ich es verwende C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe.
Kevin Richardson
69

Wenn Sie Visual 2012 verwenden, klicken Sie mit der rechten Maustaste auf Projektname -> Eigenschaften -> Konfigurationseigenschaften -> Allgemein -> Plattform-Toolset -> Visual Studio 2012 (v110).

Sara
quelle
1
Dies löste es in meinem Fall. Ich habe versucht, VS2013 zu verwenden, und bin dann auf dieses Problem gestoßen, als ich zu VS2012 zurückgekehrt bin. Beachten Sie, dass Sie dies für jedes Projekt in der Lösung tun müssen.
J. Peterson
Dieser Beitrag mit einer Lösung und Anweisungen ist so klar und einfach zu befolgen. Schade, dass 2012 immer noch eine Menge Fehler gibt, nachdem ich das v110-Problem behoben habe. Ich kann genau den gleichen C-Code ausführen, der 2013 ohne Probleme ausgeführt wird, aber 2012 kann es immer noch schaffen, Fehler zu finden. 2012 verlangsamt die Codierung, weshalb ich jetzt nur 2013 verwende.
T. Webster
Geändertes Plattform-Toolset und Windows SDK-Version. Hat funktioniert!
Fırat Esmer
7

Um die Antworten von Kevin und Lex zusammenzufassen:

Wir hatten eine ähnliche Situation bei der Arbeit, in der sowohl die Entwickler als auch der Build-Server Visual Studio 2013 hatten. Unsere Lösung hatte ein VS 2013 C ++ - Projekt und wurde gut kompiliert, wenn sie auf dem Entwicklercomputer oder auf dem Build-Server in der IDE erstellt wurde. Das Problem war beim Auslösen von Builds mithilfe von TFS-Builddefinitionen. Wir haben immer noch eine alte Build-Vorlage (Version 11.1) anstelle von 12.0 verwendet. Glücklicherweise wurde das Problem durch ein einfaches Hinzufügen von Attributen zur xaml-Vorlagendatei behoben. Im Sequenzabschnitt "Projekt kompilieren" gibt es einen xaml-Knoten, der mit beginnt

mtbwa:MSBuild CommandLineArgument=....

Sie können ein "ToolPath" -Attribut hinzufügen und es auf den richtigen Pfad der MSBuild.exe verweisen, die Sie basierend auf Kevins Antwort aufrufen möchten. Zum Beispiel:

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

Um zu Louis Antwort zu addieren:

Alternativ können Sie das Attribut verwenden, ToolVersion="12.0"wenn Sie Visual Studio 2013 anstelle des ToolPathAttributs verwenden. Details finden Sie unter http://msdn.microsoft.com/en-us/library/dd647548.aspx

Sie sind also nicht gezwungen, einen absoluten Pfad zu verwenden.

kbisang
quelle
4

Verschwendete 4+ Stunden dafür.

Ich habe Visual Studio 2017 Enterprise , eines der Projekte hat folgenden Fehler:

Die Build-Tools für v120 (Platform Toolset = 'v120') wurden nicht gefunden

Um den obigen Fehler zu beheben, habe ich versucht, alle folgenden zu installieren:

Keines der oben genannten Verfahren hat jedoch funktioniert.

Später wurde Visual Studio 2013 Ultimate installiert , dann funktionierte alles einwandfrei.

Das ältere Visual Studio ist ein Muss, um dieses Problem zu beheben.

Ich hoffe es hilft.

Manohar Reddy Poreddy
quelle
3

Wenn ein Projekt ++ VS2013 C wird in VS2015 geöffnet, und es gibt Warnungen über „Die Build - Tools für v120 ... kann nicht gefunden werden“, ich bearbeiten die .vcxproj Datei und ändern müssen einfach nur <PlatformToolset>v120</PlatformToolset>auf <PlatformToolset>v140</PlatformToolset>und schließen und erneut öffnen Sie die Lösung .

Dennis Schulze
quelle
1

In VS 2012 wurde Folgendes angezeigt: "SMB2 wird nicht erstellt: Fehler 1 Fehler MSB8020: Die Build-Tools für Visual Studio 2010 (Platform Toolset = 'v100') wurden nicht gefunden. Um mit den v100-Build-Tools zu erstellen, klicken Sie entweder auf das Menü Projekt oder klicken Sie mit der rechten Maustaste auf die Lösung und wählen Sie "VC ++ - Projekte aktualisieren ...". Installieren Sie Visual Studio 2010, um es mit den Build-Tools von Visual Studio 2010 zu erstellen.

Ich warf Vorsicht in den Wind und versuchte den Vorschlag: Wählte die Lösung im Projektmappen-Explorer aus und klickte dann auf den Menüpunkt "VC ++ aktualisieren". Dies führte einige Aktualisierungen durch und startete dann einen Build, der erfolgreich war.

Der Menüpunkt "Update VC ++" wird im Lösungsmenü nicht mehr angezeigt.

Tristan Fabrini
quelle
1

Ich hatte ein ähnliches Problem, als ich VS 2013 Community Update 5 entfernte und auf VS 2015 Community Edition umstellte

und das Problem, das in Windows Phone 8.1-Projekten aufgetreten ist, in denen es sich darüber beschwert hat, dass nicht das richtige msbuild-Toolset vorhanden ist und die Emulatoren nicht installiert sind, selbst wenn dies der Fall ist.

Ich weiß, dass die Ursache des Problems die VS 2013-Community-Einstellungen waren, die bei der letzten Deinstallation hinterlassen wurden und die alles für mich durcheinander gebracht haben, obwohl der Deinstallationsprozess reibungslos und ohne Probleme über das Control Panel verlief.

Ich habe mein Bestes getan, um alle verbleibenden Dateien zu entfernen, aber es war immer noch etwas übrig.

und was es nur für mich behoben hat, ist eine neue Windows 10 x 64-Installation. Danach habe ich die VS 2015 Community Edition installiert und das wars !! Keine Fehler mehr für mich und der wp8.1 Emulator hat auch gut funktioniert !!

In meinem Fall bin ich mir jetzt völlig sicher, dass die vorherigen Einstellungen für die Visual Studio-Installation alles für mich durcheinander gebracht haben. Da ich VS 2013-Community-Dateien und -Einstellungen auf keinen Fall gefunden und versucht habe, sie vollständig zu löschen, musste ich den Preis dafür bezahlen und neu installieren mein Betriebssystem.

Möglicherweise können Sie eine Neuinstallation des Betriebssystems vermeiden, wenn Sie eine Möglichkeit finden, die letzten Visual Studio-Installationsdateien vollständig zu löschen.

PS: Versuchen Sie diese Lösung erst (Neuinstallation des Betriebssystems), nachdem Sie zuerst alle möglichen Möglichkeiten ausprobiert haben, wenn nichts funktioniert, und erst dann ... machen Sie diese Lösung als letzten Ausweg.

Joseph
quelle
Diesen Fehler bei einer Neuinstallation von VS 2015 Community erhalten. Microsoft hat nicht die richtigen Pfade für x64.
Michaelangel007
0

Um in VS2013 alle Projekte so einzurichten, dass Build-Tools korrigiert werden, können Sie im Solution Explorer mit der rechten Maustaste auf die Lösung klicken und "Retarget-Lösung" auswählen. Es werden alle Progekte geändert (alles, was Sie mit dem Kontrollkästchen im geöffneten Dialogfeld aktivieren), sodass der Fehler behoben ist.

daniel.bavrin
quelle
Versuchte das. Hilft in meinem Fall nicht mit VS Community 2015 .: - /
Michaelangel007
0

In meinem Fall habe ich auf eine Visual 2013-SLN-Datei doppelklickt und Visual 2012 geöffnet (anstelle von Visual 2013). Beim Versuch, mit Visual 2012 zu kompilieren, zeigte ein Projekt, bei dem das Platform Toolset auf "v120" eingestellt war, den oben genannten Fehler. Beim erneuten Öffnen der SLN mit Visual 2013 wurde das Platform Toolset jedoch auf "Visual Studio 2013 (v120)" gesetzt - bitte beachten Sie diesmal den vollständigen Namen - und hat den Job tatsächlich für mich erledigt. Das Projekt lässt sich jetzt gut kompilieren.

user1787252
quelle
0

Beim Erstellen des USBView-Projekts in VS2015 wurde der gleiche Fehler angezeigt. Ich habe diesen Fehler behoben, indem ich die Einstellungen für "Platform Toolset" in "Visual Studio 2015 (v140)" ausgewählt und dann mit der rechten Maustaste auf "Lösung" (in VS2015) geklickt und "Lösung neu ausrichten" ausgewählt und in diesem Dialogfeld 10.0.10240.0 ausgewählt habe.

Es scheint, dass es auch ProjectUpgradeTool von Microsoft gibt, das ältere Projekte konvertieren soll, um ein Upgrade auf VS2012 VS durchzuführen, aber ich konnte dieses Tool auf meinem Computer nicht finden.

Ich habe noch einige neue Linker - Fehler mit Hilfe von beheben diese .

zar
quelle
0

Ich hatte ein ähnliches Problem. Die VS 2015 Community (MSBuild 14), die eine C ++ - App erstellt, wollte VS 2010 (v100) -Tools verwenden. Es kam alles zusammen und gab msbuild eine ungültige Konfigurationsoption. Seltsam.

Überprüfen Sie daher alle diese Optionen und Parameter erneut.

Jahmic
quelle
0

Wenn Sie make-Generatoren wie cmake, JUCE usw. verwenden, versuchen Sie, ein korrektes VS-Versionsziel (2013, 2015, 2017) festzulegen und die Lösung erneut zu generieren .

DenisKolodin
quelle
0

Ich hatte das gleiche Problem beim Aufbau eines Projekts.

Ich habe die Visual Studio 2015-IDE verwendet. Dort hat es einwandfrei funktioniert, aber beim Erstellen eines Builds aus einem PowerShell-Skript wurde ein Toolset zum Thema "Die Build-Tools für v140 (Platform Toolset = 'v140') wurden nicht gefunden." Error

Schließlich ging es darum, auf eine falsche MSBUILD-Exe für das jeweilige Projekt zu verweisen.

Früher habe ich auf $ MSBUILD = "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe gezeigt

Der Build war erfolgreich, als ich das Skript so aktualisiert habe, dass es auf $ MSBUILD = "C: \ Programme (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe" verweist.

Stellen Sie daher zur Behebung des Problems sicher, dass Sie das richtige MSBUILD verwenden.

Sagar Mahewar
quelle