Impossibile trovare gli strumenti di compilazione per v120 (Platform Toolset = 'v120')


103

Utilizzando Visual Studio 2012 su Windows 8 x64, ciò è dovuto allo spostamento di msbuild in .net ma non ho ancora visto come risolverlo.

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
Suggerimento CLI: per creare qualsiasi soluzione con il preferito PlatformToolset, puoi sovrascriverlo in questo modo (VS2013): "\Program Files (x86)\MSBuild\12.0\Bin\MSBuild" .\path\to\MySolution.sln /p:PlatformToolset=v120(se sei in PowerShell, inserire &prima \Progr..). Per VS2015, diventerà "\Program Files (x86)\MSBuild\14.0\Bin\MSBuild"ed /p:PlatformToolset=v140e così via.
corvo vulcaniano

Risposte:


73

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

Stai usando Visual C ++ 2012 che è v110. v120 significa Visual C ++ 2013.

Quindi o si modificano le impostazioni del progetto per utilizzare il set di strumenti v110 o si installa Visual Studio 2013 su questo computer e si utilizza VS2013 per compilarlo.


70
Ma, ma ... ottengo questo errore anche se ho VS 2013 installato sulla mia macchina!
Tim Lovell-Smith

5
Hai risolto? Sto riscontrando un problema simile. Se compilo da TFS Team Build, ottengo lo stesso errore. Tuttavia, posso costruire bene da VS 2013 IDE e da un prompt dei comandi di VS 2013.
Ike Starnes

Ho controllato l'elenco del software installato sui server di build TFS qui: listofsoftwareontfshostedbuildserver.azurewebsites.net dove presumo che funzionerebbe (sospetto che dovrebbe essere compilato ma non ho ancora avuto modo di provarlo). Noto che VS 2013 non è effettivamente installato, solo alcune parti di esso.
Rimborsato il 1 °

6
Ho installato VS 2013 sul server di compilazione e ho ancora il problema.
Rimborsato 1

4
Tieni presente che la tua soluzione potrebbe avere più progetti. Quindi, controlla Proprietà per tutti loro facendo clic con il pulsante destro del mouse sul progetto (non sulla soluzione) -> Proprietà di configurazione-> Generale-> Set di strumenti della piattaforma (questo è su VS2013)
pixel

84

Se hai installato VS2013 e ricevi questo errore, potresti invocare MSBuild sbagliato. Con VS2013, Microsoft ora include MSBuild come parte di Visual Studio. Vedi questo post sul blog di Visual Studio per i dettagli.

In particolare, nota la nuova posizione dei binari:

Su macchine a 32 bit possono essere trovati in: C: \ Program Files \ MSBuild \ 12.0 \ bin

Su macchine a 64 bit gli strumenti a 32 bit si troveranno in: C: \ Programmi (x86) \ MSBuild \ 12.0 \ bin

e gli strumenti a 64 bit in: C: \ Programmi (x86) \ MSBuild \ 12.0 \ bin \ amd64

MSBuild in %WINDIR%\Microsoft.NET\Framework\non sembra riconoscere il set di strumenti della piattaforma VS2013 (v120).


2
Questa risposta si è rivelata la risposta giusta per me quando ho riscontrato lo stesso problema descritto nel PO.
Boinst

12
Come si modifica il percorso a MSBuild?
rharrison33

Cosa stai tentando di fare?
Kevin Richardson,

2
@ rharrison33 Quando ho utilizzato un prompt dei comandi VS2013, è stata utilizzata la versione corretta di msbuild. L'esecuzione di un prompt dei comandi VS2012 utilizzava la posizione di msbuild errata. Non sono proprio sicuro del motivo per cui VS2013 ha installato un prompt dei comandi VS2012, ma è qualcosa a cui prestare attenzione ...
Jim Geurts

1
La creazione con il set di strumenti v120 funziona per me in un prompt dei comandi VS2012 quando utilizzo C:\Program Files (x86)\MSBuild\12.0\bin\MSbuild.exe.
Kevin Richardson

69

se si utilizza visual 2012, fare clic con il pulsante destro del mouse sul nome del progetto -> proprietà -> proprietà di configurazione -> generale -> set di strumenti della piattaforma -> Visual Studio 2012 (v110)


1
Questo l'ha risolto nel mio caso. Ho provato a utilizzare VS2013, quindi mi sono imbattuto in questo problema quando sono tornato a VS2012. Nota che devi farlo per ogni progetto nella soluzione.
J. Peterson

Questo post con una soluzione e le indicazioni sono così chiare e facili da seguire .. Peccato che il 2012 mi dia ancora un mucchio di errori, dopo aver risolto il problema della v110 .. Posso eseguire esattamente lo stesso codice C eseguito nel 2013 senza problemi, ma Il 2012 può ancora riuscire a trovare errori. Il 2012 rallenta la codifica, motivo per cui ora uso solo il 2013.
T. Webster,

Set di strumenti della piattaforma modificato e versione di Windows SDK. Lavorato!
Fırat Esmer


7

Per aggiungere fino alle risposte di Kevin e Lex:

Abbiamo avuto una situazione simile sul lavoro in cui sia gli sviluppatori che il server di compilazione avevano Visual Studio 2013. La nostra soluzione aveva un progetto VS 2013 C ++ e veniva compilata correttamente quando costruita sulla macchina dello sviluppatore o sul server di compilazione all'interno dell'IDE. Il problema si verificava durante l'attivazione delle build utilizzando le definizioni di build TFS. Usavamo ancora un vecchio modello di build (versione 11.1) invece di 12.0. Fortunatamente, una semplice aggiunta di attributi al file xaml del modello ha risolto il problema. Nella parte della sequenza "Compila il progetto", c'è un nodo xaml che inizia con

mtbwa:MSBuild CommandLineArgument=....

È possibile aggiungere un attributo "ToolPath" e puntarlo al percorso corretto di MSBuild.exe che si desidera richiamare, in base alla risposta di Kevin. Per esempio:

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

4

Per aggiungere fino alla risposta di Louis:

In alternativa è possibile utilizzare l'attributo ToolVersion="12.0"se si utilizza Visual Studio 2013 invece di utilizzare l' ToolPathattributo. Visita dei dettagli http://msdn.microsoft.com/en-us/library/dd647548.aspx

Quindi non sei obbligato a usare il percorso assoluto.


4

Ho sprecato più di 4 ore su questo.

Ho Visual Studio 2017 Enterprise , uno dei progetti ha il seguente errore:

Impossibile trovare gli strumenti di compilazione per v120 (Platform Toolset = 'v120')

Per risolvere l'errore precedente, ho provato a installare tutto di seguito:

Tuttavia, nessuno dei precedenti ha funzionato.

Successivamente, ho installato Visual Studio 2013 Ultimate , quindi tutto ha funzionato bene.

Sembra che il vecchio Visual Studio sia un must per risolvere questo problema.

Spero che sia d'aiuto.


3

Quando un progetto C ++ VS2013 viene aperto in VS2015 e vengono visualizzati avvisi su "Gli strumenti di compilazione per v120 ... non possono essere trovati", devo semplicemente modificare il file .vcxproj e passare <PlatformToolset>v120</PlatformToolset>a <PlatformToolset>v140</PlatformToolset>, chiudere e riaprire la soluzione .


1

In VS 2012, ricevevo il messaggio "SMB2 non verrà compilato: Errore 1 errore MSB8020: Impossibile trovare gli strumenti di compilazione per Visual Studio 2010 (Platform Toolset = 'v100'). Per creare utilizzando gli strumenti di compilazione v100, fai clic sul menu Progetto oppure fai clic con il pulsante destro del mouse sulla soluzione, quindi seleziona "Aggiorna progetti VC ++ ...". Installa Visual Studio 2010 per compilare utilizzando gli strumenti di compilazione di Visual Studio 2010 ".

Gettando al vento la prudenza, ho provato il suggerimento: ho selezionato la soluzione in Esplora soluzioni, quindi ho fatto clic sulla voce di menu "Aggiorna VC ++". Questo ha eseguito alcuni aggiornamenti e quindi ha avviato una build che ha avuto successo.

La voce di menu "Aggiorna VC ++" non viene più visualizzata nel menu della soluzione.


1

Ho avuto un problema simile quando ho rimosso l'aggiornamento 5 della community di VS 2013 e sono passato all'edizione della community di VS 2015

e il problema acquisito nei progetti Windows Phone 8.1 in cui si lamentava di non avere il set di strumenti msbuild giusto e degli emulatori non installati anche se lo sono.

So che la fonte del problema erano le impostazioni della community di VS 2013 che sono state lasciate dall'ultima disinstallazione che ha incasinato tutto per me anche se il processo di disinstallazione è andato liscio senza problemi dal pannello di controllo.

ho fatto del mio meglio per rimuovere tutti i file rimasti, ma c'era sempre qualcosa da fare.

e quello che ha risolto il problema per me è stata una nuova installazione di Windows 10 x64, quindi dopo averla installata ho installato l'edizione della community di VS 2015 e il gioco è fatto !! niente più errori per me e anche l'emulatore wp8.1 ha funzionato bene !!

nel mio caso ora sono completamente sicuro che le precedenti impostazioni di installazione di Visual Studio abbiano rovinato tutto per me e poiché non c'era alcun modo in cui ho trovato e provato a cancellare completamente i file e le impostazioni della comunità di VS 2013, ho dovuto pagare il prezzo per questo e reinstallarlo il mio sistema operativo.

potresti essere in grado di evitare la reinstallazione del sistema operativo se riesci a trovare un modo per cancellare completamente i file di installazione dell'ultimo studio visivo.

PS: prova questa soluzione (reinstallazione del sistema operativo) solo dopo aver provato prima in tutti i modi possibili, quindi se non funziona nulla e solo allora ... rendi questa soluzione come ultima risorsa.


Ottenere questo errore con una nuova installazione di VS 2015 Community. Microsoft non ha i percorsi corretti per x64.
Michaelangel007

0

In VS2013 per impostare tutti i progetti per correggere gli strumenti di compilazione, è possibile fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e scegliere "Retarget soluzione". Cambierà tutti i progetti (tutto ciò che controlli con la casella di controllo nella finestra di dialogo aperta), quindi l'errore sarà sparito.


L'ho provato. Non aiuta nel mio caso con VS Community 2015.: - /
Michaelangel007

0

Nel mio caso, ho fatto doppio clic su un file sln di Visual 2013 e Visual 2012 è stato aperto (invece di Visual 2013). Il tentativo di compilare con Visual 2012, un progetto con il set di strumenti della piattaforma impostato su "v120" ha mostrato l'errore sopra menzionato. Tuttavia, riaprendo lo sln con Visual 2013, il set di strumenti della piattaforma era impostato su "Visual Studio 2013 (v120)" - per favore nota il nome completo questa volta -, effettivamente ha fatto il lavoro per me. Il progetto si compila bene ora.


0

Ho ricevuto lo stesso errore con la creazione del progetto USBView in VS2015. Ho rimosso questo errore selezionando le impostazioni di "Platform Toolset" su "Visual Studio 2015 (v140)" e quindi fare clic con il pulsante destro del mouse sulla soluzione (in VS2015), selezionare "Retarget Solution" e selezionare 10.0.10240.0 in quella finestra di dialogo.

Sembra che ci sia anche ProjectUpgradeTool di microsoft che dovrebbe convertire i progetti più vecchi per l'aggiornamento al post VS2012 VS ma non sono riuscito a individuare quello strumento sulla mia macchina.

Devo ancora correggere qualche nuovo errore del linker con l'aiuto di questo .


0

Ho avuto un problema simile. VS 2015 Community (MSBuild 14) che crea un'app c ++, voleva usare gli strumenti di VS 2010 (v100). Tutto è venuto giù dando a msbuild un'opzione di configurazione non valida. Strano.

Quindi, ricontrolla tutte quelle opzioni e parametri.


0

Se usi generatori come cmake, JUCE, ecc. Prova a impostare un target di versione VS corretto (2013, 2015, 2017) e rigenerare di nuovo la soluzione .


0

Stavo affrontando lo stesso problema durante la costruzione di alcuni progetti.

Ho usato l'IDE di Visual Studio 2015, funzionava bene, ma mentre fornivo la build dallo script PowerShell, forniva il set di strumenti correlato "Impossibile trovare gli strumenti di build per v140 (Platform Toolset = 'v140')."errore

Quindi alla fine è stato il problema di indicare un exe MSBUILD errato per il rispettivo progetto.

In precedenza stavo indicando $ MSBUILD = "C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe

E la compilazione è riuscita quando ho aggiornato lo script in modo che punti a $ MSBUILD = "C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe"

Quindi, per risolvere il problema, assicurati di utilizzare MSBUILD corretto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.