Ho una build su TeamCity che pacchetta un progetto web pronto per l'implementazione successiva, attualmente in uso con MSBuild 2013. Quando ho inviato qualche codice recentemente ho ricevuto errori di compilazione (dovuto al fatto che stavo usando un po 'di C# 6 funzioni) così sono andato a cambiare la configurazione di generazione di utilizzare MSBuild 2015, invece, e ottenuto questo errore:MSBuild 2015 pubblicare: Impossibile trovare AspnetMergePath valido
[Error] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(132, 5): Can't find the valid AspnetMergePath
questo errore è stato detto in altre domande prima (come ad esempio qui: VS 2012 Publish: Can't find the valid AspnetMergePath) ma sfortunatamente nessuna delle correzioni menzionate in quelle domande ha funzionato per me.
Le cose che ho già provato o erano già avviene:
- Web e webapplication directory dalla macchina locale (in C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0) hanno stato copiato fino a costruire del server (sono sempre stati lì)
- Aggiunto
<TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\</TargetFrameworkSDKToolsDirectory>
aMicrosoft.Web.Publishing.AspNetCompileMerge.targets
file di - Aggiunto
/p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
al comando MSBuild
Sono un po 'in perdita con questo: praticamente l'unica cosa che non ho provato è installare Visual Studio sul server di build, ma mi piacerebbe davvero evitarlo se posso (perché io pensa che sia ridicolo dover installare un IDE completo su un server CI!).
Alcune ulteriori informazioni:
- tutto continua a funzionare bene se si passa la generazione di nuovo a MSBuild il 2013 (anche se, ovviamente, non vogliamo rimanere bloccati nel passato)
- siamo avere un certo numero di altri pura compilazione generazioni sono in esecuzione contro MSBuild 2015 senza errori
hai risolto questo? –
Non ho paura; dopo circa due giorni ho appena tirato le mani in aria e ho appena installato Visual Studio :( – Richiban
@Richiban perché hai installato VS2015 :) la soluzione è "semplice" come in questa risposta https://stackoverflow.com/a/16694597/441301: Copia la cartella 'C: \ Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14' da una macchina Dev al server di build, quindi modifica' Microsoft.Web.Publishing.AspNetConfigurationMerge.targets' e aggiungi '' come nel collegamento. Nel mio caso ho usato * [...] v8.1A \ bin \ NETFX 4.5.1 Strumenti *, ma funziona anche se hai l'SDK di Windows 10 ... troppo tardi per te, ma forse aiuta qualcun altro. Non è più necessario specificare '/ p: AspnetMergePath';) –
firepol