Sul mio computer portatile di sviluppo ho installato solo VS2012 RC e riesco ad agganciare con successo il nuovo plumbing .pubxml di MSDeploy (impostazioni DeployOnBuild e PublishProfile) da powershell (tramite psake) per distribuire il mio sito Web al nostro server di test.Come si controlla quale versione di un file msbuild viene utilizzata tra .NET4 e 4.5RC?
Tuttavia, sul mio server di build, inizialmente avevo installato VS2010 SP1 e ora ho in aggiunta installato nel 2012 RC (ho altri build su questa macchina che sono ancora .NET 4).
Quando si esegue lo stesso script con esattamente gli stessi parametri, vedo risultati diversi tra la mia macchina di sviluppo e il server di compilazione. Il comando sto correndo è
exec { msbuild "Website\WebSite.csproj" /m p:DeployOnBuild=True /p:PublishProfile=MyTestProfile }
Sul server di build, questo non lo fa infatti grilletto MSDeploy, ma semplicemente i bit di confezionamento che zip il sito attivo e rende un pacchetto di distribuzione. La mia macchina seleziona con successo il file pubxml e fa una distribuzione di successo.
Eventualmente, credo di aver rintracciato il problema nel file Microsoft.Web.Publishing.targets. Sulla mia macchina dev ho solo
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
ma il server ha inoltre
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web
e sembra che questo file (senza la conoscenza delle cose .pubxml) è quello che viene utilizzato lì.
Qualcuno ha idea di cosa ho bisogno di twiddle (preferibilmente all'interno dei miei file msbuild in modo da non rovinare altro sul server di build per le build 4.0) per ottenere msbuild per raccogliere la versione v11.0 del file e quindi utilizzare il mio file .pubxml?
Grazie, passando VisualStudioVersion = 11.0 lo ha risolto. Sarebbe utile se fornissi/v: Output diagnostico da entrambe le macchine senza il flag in modo da poter meglio determinare se si tratta di un bug reale o qualcosa che sono riuscito a infrangere sul mio server? –
Detto, sembra che lo stesso stia succedendo con VS2013. Ho eseguito questo sul mio server di build e ho dovuto passare = 12.0 per i target Azure giusti per essere prelevati ... –
Ho delle regole personalizzate per l'analisi del codice e le ho costruite contro VS2013 dopo aver aggiornato la soluzione 2 settimane fa. Su tutti i client tutto sta andando bene fino a quando non ho fatto un build CI. Ho aggiunto il parametro /p:VisualStudioVersion=12.0 al build CI e tutto andava bene di nuovo.Utilizziamo un server di compilazione SP1 TFS2010 e client RTM VS2013 –