Requisito non soddisfatto della città del team: MSBuildTools12.0_x86_Path esiste


117

Ho un'installazione di TeamCity su una macchina Windows x32 Server2008. Ho eseguito l'installazione web .net 4.5. Ho anche copiato i file dalla mia macchina x64 in base a questo articolo in modo da non aver bisogno di installare vs2012 (tuttavia, ho cambiato il percorso per rimuovere x86 sulla macchina a 32 bit):

MSBuild in TeamCity della soluzione Visual Studio 2012

Non riesco a convincere l'agente locale a eseguire la build che ho configurato per msbuild su un progetto vs2012 o vs2010. Continuo a ricevere:

Requisiti non soddisfatti: MSBuildTools12.0_x86_Path esiste

Ho riavviato più volte il server e anche l'agente. Ho provato a modificare un po 'le variabili del percorso, ma non riesco a capire cosa mi manca. Ho guardato anche nei parametri di configurazione e posso vedere questi:

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

Come ottengo 12.0 lì dentro?


Hai ancora problemi con TeamCity?
Daniel Hollinrake

La quantità di tempo che ho impiegato per capirlo mi ha richiesto di sospendere il progetto. Spero di tornarci in primavera.
arcangelo76

Mi ci è voluto un po 'per far funzionare tutto. Penso che il succo fosse l'installazione di MSBuild e l'aggiornamento di Web Deploy.
Daniel Hollinrake

Risposte:


149

Avevo bisogno di installare MSBuild separatamente, quindi dopo aver riavviato l'agente la variabile era lì.

(Dall'articolo di MSDN) MSBuild è ora installato come parte di Visual Studio anziché come parte di .NET Framework. Il numero di versione corrente di MSBuild è 12.0. Se desideri installare MSBuild separatamente, scarica il pacchetto di installazione da MSBuild Download.

modifica: il link della risposta è stato interrotto. Ecco il collegamento per Microsoft Build Tools 2015 (più recentemente fino ad oggi): https://www.microsoft.com/en-us/download/details.aspx?id=48159


8
Va notato che sarà necessario .NET Framework versione 4.5.1 (disponibile qui: microsoft.com/en-ca/download/details.aspx?id=40779 ) per installare MSBuild12.0.
Brandon

37
Per riavviare l'agente: 1. Andare al server di compilazione. 2. Eseguire services.msc dal menu di avvio. 3. Trova l'agente TeamCity, interrompi il servizio e riavvialo. Questo può sembrare ovvio ai veterani esperti di TeamCity, ma non agli utenti alle prime armi come me. :)
Chaim Eliyah

5
Sebbene sia installato MS Build Tools 2013, la variabile MSBuildTools12.0_x86_Path non è ancora impostata e l'agente non viene eseguito. C'è un modo per impostarlo manualmente?
bdaniel7

Dovevo andare in questa directory ed eseguire vcvars64.bat: C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin \ amd64 Quindi msbuild ha funzionato per me.
user8128167

5
Per impostazione predefinita, quando ho utilizzato il rilevamento automatico del file sln e la mia soluzione era impostata su Visual Studio 2013. Ho cambiato per Visual Studio 2015 installato sull'agente.
ptittof57

33

Una risposta un po 'tardiva, ma se il tuo progetto è di VS 2012 e stai utilizzando il passaggio di creazione del file della soluzione rilevato automaticamente, la modifica di tale passaggio e la scelta di "Microsoft Visual Studio 2012" dal menu a discesa "Visual Studio" risolve il problema anche (e, IMHO, più correttamente).


2
Per niente in ritardo! Ho avuto questo problema oggi e la modifica della versione VS in VS 2015 ha eliminato il messaggio di requisiti non soddisfatti
Sudhanshu Mishra

Questo ha funzionato per me nuovo server TeamCity 10 VS2015 (era il vecchio progetto 2013)
Rippo

2
Sì, il mio problema era che la versione sbagliata di Visual Studio è stata "selezionata automaticamente" da Team City quando si è scelto di rilevare automaticamente i passaggi di compilazione dall'opzione "Crea progetto da URL", quindi sono andato semplicemente al passaggio di creazione e ho cambiato il Versione di Visual Studio per risolvere questo problema. Spero che le persone controllino la tua risposta prima di provare a installare cose di cui potrebbero non aver bisogno nella risposta di jmw.
starmandeluxe

18

Ho avuto lo stesso problema e alla fine si è scoperto che il passaggio di build definito per eseguire MSBuild era configurato in modo errato.

Nella fase di compilazione di MSBuild l'impostazione "MSBuild ToolsVersion" era impostata su 12.0 (impostazione predefinita), che ha portato all'errore "Requisiti non soddisfatti: MSBuildTools12.0_x86_Path esiste" sul mio sistema. Poiché non ho bisogno del nuovo MSBuild 12.0 per eseguire la build, ho modificato questa impostazione in 4.0 nella fase di compilazione. Questa versione di MSBuild è installata correttamente sul mio sistema. Questo ha risolto il problema per me.


10

Sono anche un po 'in ritardo per la festa, ma ho pensato di condividere quanto segue nel caso in cui aiutasse una povera anima là fuori.

  • Ho ricevuto l'errore sopra menzionato su una nuova installazione di TeamCity 8.1.4 su una nuova scatola di Windows Server 2012 R2
  • Ho seguito le istruzioni in questo thread e l'errore è ancora apparso nonostante numerosi riavvii e reinstallazioni.
  • Ho notato che le informazioni sull'agente come il sistema operativo e la CPU non venivano visualizzate nella pagina dei dettagli dell'agente. Ciò indicava che il problema non riguardava i prerequisiti .NET e MSBUILD ma era invece correlato al fatto che il servizio agente non era in grado di leggere le informazioni sulla macchina.
  • L'agente era in esecuzione con un account utente (con tutte le autorizzazioni necessarie come da documentazione di TeamCity ). Ma ho pensato di vedere cosa sarebbe successo se fossi entrato in Strumenti di amministrazione> Servizi e avessi modificato l'accesso all'account di sistema locale.
  • Riavviato il servizio agente.
  • Grande successo.

Anche la modifica dell'agente per l'esecuzione come servizio locale ha risolto questo problema. Non capisco perché però. Ho aggiunto l'utente che stavo utilizzando al gruppo di amministratori locali per vedere se si trattava di un problema di autorizzazioni ma ciò non ha aiutato;
user381624

8

MSBuild fa ora parte di Visual Studio. Se è necessario installare gli strumenti di compilazione sul proprio agente ma non si desidera installare VS, sarà necessario installare il nuovo Microsoft Build Tools disponibile all'indirizzo http://www.microsoft.com/en-us/download/ details.aspx? id = 40760 .


1
Vedi anche: collegamento per la versione 2015 di Build Tools (il collegamento citato è 2013 tools).
Jeroen

Ed ecco la versione 2017 (Tools for Visual Studio 2017 -> Build Tools for Visual Studio 2017)
fuglede


2

Ho avuto questo problema sul mio agente di compilazione secondario.

Avevo copiato la cartella MSBuild dal pc dell'agente di compilazione principale al pc dell'agente di compilazione secondario (come ho fatto con alcuni file di Visual Studio come descritto qui: MSBuild nella soluzione TeamCity di Visual Studio 2012 ), piuttosto che installare MSBuild.

Sembra, tuttavia, che i servizi dell'agente di TeamCity controllino il registro per le voci di MSBuild all'avvio (non sembra farlo con i file di Visual Studio che ho menzionato sopra). Poiché avevo semplicemente copiato i file dall'altro PC, non esisteva alcuna voce di MSBuild per la v. 12.0, quindi TeamCity non ha rilevato i file MSBuild anche se erano presenti nella cartella Programmi (x86) \ MSBuild.

Quando ho installato Microsoft Build Tools dal collegamento sopra http://www.microsoft.com/en-us/download/details.aspx?id=40760 TeamCity ha trovato la voce v. 12.0 nel registro e l'agente è stato in grado di costruire gli stessi progetti dell'agente principale.

Ricordarsi di riavviare il servizio agente di TeamCity dopo aver installato MS Build Tools.


1

Nel mio caso ho TeamCity Professional 2018.1 su Windows 2016 Server. Ho scaricato Build Tools per Visual Studio 2017 da qui: https://visualstudio.microsoft.com/downloads/ e ho selezionato tutte le opzioni per gli strumenti di build. Dopo l'installazione ho aggiunto MSBuild alla variabile d'ambiente PATH globale. C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin nel mio caso.


0

Nel mio caso, era una nuova macchina senza studio visivo installato e ho appena ripristinato Teamcity da un'altra macchina. Quindi ho installato Visual Studio 2013 e risolto il problema dell'agente teamcity.


0

Come affermato in precedenza, il passaggio di compilazione rilevato automaticamente è probabilmente rilevato dalla versione di Visual Studio errata. Modificalo utilizzando il menu a discesa di Visual Studio nella sezione Passaggi di compilazione nella pagina delle impostazioni di configurazione della compilazione:

inserisci qui la descrizione dell'immagine


-1

Mi è sembrato di risolvere questo problema andando nel registro ed eliminando tutte le voci per MSBuild che non erano per la versione 12, quindi ho riavviato l'agente.

Per farlo, vai su Start> Esegui e digita Regedit

Quindi vai alla chiave:

HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild

Elimina tutte le versioni tranne la 12.0.

Vai al livello successivo in ToolsVersions ed elimina le versioni non 12.0 lì.


1
Questa è una cattiva idea, l'ultima cosa che dovresti fare in CI / CD è giocare con i registri
goamn
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.