2013-08-01 17 views
7

Ultimamente ho aggiornato un Progetto Azure da Azure SDK 1.6 (Visual Studio 2010) ad Azure SDK 2.0 (Visual Studio 2012). Il progetto verrà creato senza errori o avvisi sul computer locale. Posso eseguire il debug sulla macchina locale, ma non riesco a impacchettare o ottenere una build sul build server. L'errore che ottengo è:Errore pacchetto/pubblicazione su Azure

errore MSB4057: L'obiettivo "PipelineTransformPhase" non esiste nel progetto.

Ho confermato che il file C: \ Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications \ Microsoft.WebApplications.targets esiste localmente e sul server di generazione.

Il progetto originale indicava il percorso \ v10.0 \ e l'ho modificato manualmente sul percorso \ v11.0 \ cercando di risolvere l'errore senza fortuna.

risposta

11

Ho notato che quando il progetto non è in grado di accedere al file Microsoft.WebApplications.targets di solito dice "L'obiettivo" PipelineTransformPhase "non esiste nel progetto."

È necessario importare il file Microsoft.WebApplications.targets nel progetto. Puoi farlo aggiungendo la seguente linea nel tuo progetto.

<Import Project="C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" /> 

Durante l'importazione Microsoft.WebApplication.targets nel file di progetto, assicurarsi che non si imposta esplicita condizione = "false". Ho visto un errore simile quando Microsoft.WebApplication.targets è stato importato nel progetto insieme a Condition = "false".

Un'altra cosa da considerare quando si importano Microsoft.WebApplication.targets nel file di progetto, assicurarsi sempre che la variabile predefinita $ (MSBuildExtensionsPath32) sia impostata su "C: \ Programmi (x86) \ MSBuild \".

+0

Questo è rilevante anche per i progetti aggiornati a Azure SDK 2.2/VS 2013. In particolare, rimuovere l'attributo Condition = "false". – RyanCEI