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.
visual-studio
msbuild
clienthax
quelle
quelle
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=v140
und so weiter.Antworten:
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.
quelle
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:
Der MSBuild in
%WINDIR%\Microsoft.NET\Framework\
scheint das VS2013 (v120) -Plattform-Toolset nicht zu erkennen.quelle
C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe
.Wenn Sie Visual 2012 verwenden, klicken Sie mit der rechten Maustaste auf Projektname -> Eigenschaften -> Konfigurationseigenschaften -> Allgemein -> Plattform-Toolset -> Visual Studio 2012 (v110).
quelle
Laden Sie Microsoft Build Tools 2013 von http://www.microsoft.com/en-US/download/details.aspx?id=40760 herunter und richten Sie es ein
quelle
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
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:
quelle
Um zu Louis Antwort zu addieren:
Alternativ können Sie das Attribut verwenden,
ToolVersion="12.0"
wenn Sie Visual Studio 2013 anstelle desToolPath
Attributs verwenden. Details finden Sie unter http://msdn.microsoft.com/en-us/library/dd647548.aspxSie sind also nicht gezwungen, einen absoluten Pfad zu verwenden.
quelle
Verschwendete 4+ Stunden dafür.
Ich habe Visual Studio 2017 Enterprise , eines der Projekte hat folgenden Fehler:
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.
quelle
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 .quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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 .
quelle
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.
quelle
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 .
quelle
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.
quelle