Errore di build esterno VS2013 “Errore MSB4019: il progetto importato non è stato trovato”

Sto costruendo un progetto attraverso la riga di comando e non all’interno di Visual Studio 2013. Nota, ho aggiornato il mio progetto da Visual Studio 2012 al 2013. Il progetto si integra perfettamente all’interno dell’IDE. Inoltre, ho completamente disinstallato VS2012, riavviato e installato VS2013. L’unica versione di Visual Studio che possiedo è 2013 Ultimate.

ValidateProjects: 39>path_to_project.csproj(245,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the  declaration is correct, and that the file exists on disk. 39>Done Building Project "path_to_project.csproj" (Clean target(s)) -- FAILED. 

Ecco le due linee in questione:

   

La seconda riga originale era la v10.0, ma l’ho modificata manualmente alla v12.0.

$ (VSToolsPath) si allunga da ciò che vedo nella cartella v11.0 (VS2012), che ovviamente non c’è più. Il percorso avrebbe dovuto essere a v12.0.

 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\ 

Ho provato a specificare VSToolsPath nella tabella delle variabili di ambiente del sistema, ma l’utilità di generazione esterna utilizza ancora v11.0. Ho provato a cercare attraverso il registro e non ho trovato nulla.

Purtroppo, non vedo alcun modo semplice per ottenere l’esatta riga di comando utilizzata. Io uso uno strumento di costruzione.

Pensieri?

Ho avuto lo stesso problema e ho trovato una soluzione più semplice

È dovuto a Vs2012 che aggiunge nel file csproj questa parte:

  10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)  

Puoi tranquillamente rimuovere quella parte e la tua soluzione si costruirà.

Come ha sottolineato Sielu, devi assicurarti che il file .proj inizi con altrimenti la prossima volta che il progetto con Visual Studio 2010, esso aggiungerà nuovamente il nodo rimosso.

in caso contrario, se è necessario utilizzare webdeploy o si utilizza un server di build, la soluzione di cui sopra non funzionerà, ma è ansible specificare la proprietà VisualStudioVersion nel proprio script di build:

 msbuild myproject.csproj /p:VisualStudioVersion=12.0 

o modifica la tua definizione di build:

modificare la definizione di build per specificare la proprietà <code/> VisualStudioVersion

Ho avuto anche questo e puoi sistemarlo impostando la versione degli strumenti nella tua definizione di build.

Questo è molto facile da fare. Apri la tua definizione di build e vai alla pagina ” Processo “. Quindi sotto il gruppo ” 3. Avanzate ” hai una proprietà chiamata ” Argomenti MSBuild “. Posiziona il parametro lì con la seguente syntax

 /p:VisualStudioVersion=12.0 

Se hai più parametri, separali con uno spazio e non con una virgola.

Questo è strettamente correlato ma può o non può risolvere un problema specifico dei PO. Nel mio caso stavo cercando di automatizzare la distribuzione di un sito Azure usando VS2013. Costruire e distribuire tramite VS funziona, tuttavia, utilizzando MSBuild ha mostrato un errore simile attorno agli “obiettivi”. Risulta che MSBuild è diverso sotto VS2013, e ora fa parte di VS e non di .Net Framework (vedi http://timrayburn.net/blog/visual-studio-2013-and-msbuild/ ). Fondamentalmente, usa la versione corretta di MSBuild:

VECCHIO, VS2012

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 

NUOVO, VS2013

 C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe 

Più recenti, VS2015

 C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe 

Più nuovo ancora, VS2017 (non completamente testato ma scoperto – hanno spostato le cose un po ‘)

 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe 

Ho appena ricevuto una risposta da Kinook, che mi ha dato un link :

Fondamentalmente, ho bisogno di chiamare il seguente prima di bulding. Immagino che Visual Studio 2013 non registri automaticamente l’ambiente prima, ma il 2012 lo ha fatto, o l’ho fatto e dimenticato.

 call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 

Spero che questo post aiuti qualcun altro.

la soluzione di giammin è parzialmente errata. NON DEVE rimuovere l’intero PropertyGroup dalla propria soluzione. Se lo fai, la funzione “DeployTarget = Pacchetto” di MSBuild smetterà di funzionare. Questa funzione si basa sul “VSToolsPath” impostato.

     $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)  ...  

Ho riscontrato questo problema per i nostri target FSharp (FSharpTargetsPath era vuoto).

Molti dei percorsi sono costruiti con riferimento alla versione VS.

Per varie ragioni, la nostra build viene eseguita con privilegi di sistema e la variabile di ambiente “VisualStudioVersion” è stata impostata (dal programma di installazione di VS 2013) a livello di “utente” – il che è abbastanza corretto.

Assicurarsi che la variabile di ambiente ” VisualStudioVersion ” sia impostata su ” 12.0 ” al livello (Sistema o Utente) in cui si sta eseguendo.

L’esecuzione di questo nella riga di comando risolverà anche il problema. SETX VisualStudioVersion “12.0”

Se si esegue la migrazione di Visual Studio 2012 al 2013, aprire il file di progetto * .csprorj con edior.
e controlla l’elemento ToolsVersion del tag ‘Project’.

Questo è il valore 4.0
Lo fai a 12.0

  • A partire dal

     < ?xml version="1.0" encoding="utf-8"?>  
  • A

     < ?xml version="1.0" encoding="utf-8"?>  

Oppure Se costruisci con msbuild, specifica solo la proprietà VisualStudioVersion

msbuild /p:VisualStudioVersion=12.0

Stavo usando un’utilità di compilazione esterna. Pensa a qualcosa come Ants, se capisco correttamente il prodotto, solo una versione commerciale. Ho dovuto contattare il produttore per la risposta.

A quanto pare, nel progetto è presente una macro globale, DEVSTUDIO_NET_DIR. Ho dovuto cambiare il percorso per .Net lì. Elenca varie versioni di Visual Studio come “Azioni”, che attraverso di me fuori, ma tutte le strade portano a quella variabile globale dietro le quinte. Lo classificherei come un difetto rispetto al prodotto, se avessi la mia strada, a meno che non mi manchi qualcosa nella mia comprensione. Correggere il percorso ha risolto il problema di costruzione.

Ho installato Visual Studio 2013. Questo ha funzionato per me:

  12.0` $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)  

Quindi ho cambiato la condizione da == a != E il valore da 10.0 a 12.0 .

Ho avuto un problema simile. Tutte le soluzioni proposte sono solo una soluzione per questo problema, ma non risolvono la fonte di errore. @giammin soluzione non dovrebbe essere applicata se si sta usando tfs build server in quanto è appena terminata la funzionalità di pubblicazione. @ soluzione cat5dev: risolve il problema ma non risolve il problema.

Sono quasi sicuro che tu stia usando il modello del processo di build per VS2012 come ReleaseDefaultTemplate.11.1.xaml or DefaultTemplate.11.1.xaml questi modelli di build sono stati creati per VS2012 e $ (VisualStudioVersion) impostato su 11.0

È necessario utilizzare il modello di processo di build per VS2013 ReleaseTfvcTemplate.12.xaml or TfvcTemplate.12.xaml che ha $ (VisualStudioVersion) impostato su 12.0

Funziona senza modifiche nel file di progetto.

Ho anche avuto lo stesso errore .. L’ho fatto per risolverlo

  

cambiare a

  

ed è fatto.

Nel mio caso, mi limito a commentare sotto la riga aprendo il file .csproj e ho fatto il trucco

.

Il mio problema potrebbe essere diverso ma sono trascinato qui, ma questo può aiutare qualcuno.

Ho scelto un singolo progetto web dalla mia soluzione e ho provato ad aprirlo come un progetto indipendente che stava facendo problema, dopo che diamine sono in grado di risolvere il problema.

Nel mio caso l’ambiente di sviluppo è VS2013 e sto usando TFS 2010. Build è stato progettato per .NET 4.5.1. Stavo impostando la compilazione automatica per CI. ogni volta che ho provato soluzioni alternative menzionate sopra, come la rimozione completa del gruppo di proprietà o la sostituzione di alcune righe, ecc. la mia build era in TFS ma la mia pubblicazione in azure non funzionava con “MSDeploy” oa volte qualche errore differente. Non ero in grado di raggiungere entrambi contemporaneamente.

Quindi alla fine ho dovuto passare l’argomento MSBuild per risolvere il problema.

Vai a Modifica definizione build> Processo> 3. Avanzate> Argomenti MSBuild (impostato su) /p:VisualStudioVersion=12.0

Ha funzionato per me.

È necessario copiare la cartella WebApplications da C: \ Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ in C: \ Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \

troverai

 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets 

nel file csproj per il quale appare questo errore. Basta rimuovere questo da csproj e quindi build.

Solo una cosa deve essere fatta per risolvere il problema: aggiorna TeamCity alla versione 8.1.xo successiva perché il supporto per Visual Studio 2012/2013 e MSBuild Tools 2013 è stato introdotto solo in TeamCity 8.1. Una volta aggiornato il tuo TeamCity modifica l’impostazione della versione di MSBuild Tools nel tuo passo di costruzione, il problema sparirà. Per maggiori informazioni leggere qui: http://blog.turlov.com/2014/07/upgrade-teamcity-to-enable-support-for.html

Io – nulla mi aiutava a cambiare il valore v11.0 della variabile VisualStudioVersion alla v10.0. La modifica della variabile nel file .csproj no. Impostarlo tramite il comando promt no. Eccetera…

Finito di copiare la mia cartella locale di quella versione specifica (v11.0) al mio server di build.

Avevo provato tutte le soluzioni di cui sopra e ancora senza fortuna. Avevo sentito persone installando Visual Studio sui loro server di compilazione per sistemarlo, ma avevo solo 5 GB di spazio libero, quindi ho appena copiato C: \ Programmi (x86) \ MSBuild \ Microsoft \ VisualStudio sul mio server di build e l’ho chiamato un giorno . Ho iniziato a lavorare dopo, usando team city 9.x e visual studio 2013.

Basato su TFS 2015 Build Server

Se si ... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. questo errore ... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. ... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

Aprire il file .csproj del progetto indicato nel messaggio di errore e commentare la sezione seguente

Ho ricevuto questo errore quando installo alcuni componenti VS. Sfortunatamente nessuna di queste risposte non mi ha aiutato. Io uso TFS per lo sviluppo dei comandi e non ho le autorizzazioni per modificare la definizione della build. Ho risolto questo problema eliminando variabili di ambiente che hanno chiamato VS110COMNTOOLS e VS120COMNTOOLS . Penso che sia stato installato con i miei componenti VS.

Ho trovato che mi mancava la cartella WebApplications sul mio PC locale, non ho installato con Visual Studio 2017 come quando usavo il 2012.