2010-05-31 11 views

risposta

11

Ho avuto lo stesso problema e quando ho guardato nel file csproj per la mia applicazione web che ho avuto le seguenti righe ...

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" /> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" /> 

immagino questo è accaduto perché avevo recentemente aggiornato da VS2008 a VS2010. Quindi sembra che durante il processo di conversione sia andato tutto a pezzi. Per risolvere il problema ho appena sostituito quelle linee con ...

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> 

Dopo che tutto ha funzionato come dovrebbe.

+3

Grazie. La chiave per me era la rimozione della condizione. –

1

Avete installato Visual Studio 2010 sulla macchina in cui si sta tentando di costruire? In tal caso, cercare un file situato a % Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets, dovrebbe avere quell'obiettivo. In caso contrario, quei file potrebbero essere stati danneggiati e probabilmente riparare l'installazione di VS 2010 dovrebbe risolverlo.

penso che gli obiettivi di Web Deployment/compiti vengono forniti con VS stesso e non il framework .NET, quindi è necessario VS installato (oppure è possibile configurare manualmente la macchina)/

+0

reinstallare il computer. vs2010 installato per pulire il pc e mostra ancora lo stesso errore. – msavara

6

ho visto la risposta data da Brodie in parecchi posti in linea, il che è strano per me, perché questo compito (PipelinePreDeployCopyAllFilesToOneFolde r) non è nemmeno contenuta in questo obiettivo (Microsoft.WebApplication.targets):

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> 

Se effettivamente andare a trovare questo file (su una macchina x64 è in C: \ \ Microsoft \ VisualStudio, \ Program Files (x86) MSBuild \ v10.0 \ applicazioni web \ Microsoft.WebApplication.targets o la versione 12.0 equivalente se stai usando VS2013) e aprila in un visualizzatore di testo, vedrai non è lì ..

In realtà è contenuto nel file che Sayed Ibrahim Hashimi menziona, che è il file Microsoft.Web.Publishing.targets (C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets).

Quindi, per ottenere questo nel file MSBuild/Csproj, sono i seguenti:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" /> 
+0

Buona chiamata, trovo che anche la risposta sopra accettata sia dispari. Hai ragione. –

0

Anche se questo è un vecchio post 'ancora fornito qualche grande aiuto!

La mia configurazione utilizza un host remoto per l'automazione di un progetto costruito in VS2013. L'host remoto non contiene tutti i target VS2013 quando si installa MSBuild 12.0 esclusivamente e il risultato è il file "Microsoft.Web.Publishing.targets" non esistente.

Per aggirare questo errore di destinazione, ho dovuto copiare i file dal mio percorso VS2013 locale e copiarlo sull'host remoto nella posizione equivalente.

+0

Sì, poiché questa è una configurazione diversa per lavorare su un'installazione locale di VS. –

+0

Stavo ricevendo questo errore con l'uso di MS build senza Visual Studio installato e mancava la cartella 'Web' da% Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ Il file TARGET richiesto si trova all'interno del ' La cartella Web di Sayed ha mostrato che la mia soluzione era ottenere la cartella "Web" da un'installazione completa di VS2103 e quindi copiare la cartella. Spero che questo aiuti in qualche modo :) –

+0

puoi modificare la tua risposta e aggiungere i dettagli aggiuntivi, che sarebbero meglio visibili del tuo commento :-) – kleopatra

Problemi correlati