2013-02-01 11 views
15

sto ottenendo questo errore sul mio server CI:errore di compilazione WCF sul server di CI: Microsoft.VisualStudio.ServiceModel.targets non trovato

errore MSB4019: il progetto importato "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF \ Microsoft.VisualStudio.ServiceModel.targets" non è stato trovato

sembra che la mia biblioteca servizio WCF riferimenti al progetto quel file, ma la cartella VisualStudio su Program Files\MSBuild\Microsoft non contiene una cartella WCF .

Immagino di dover installare qualcosa sul server.

Cosa devo installare?

+0

Installazione di Microsoft Windows SDK dovrebbe funzionare - Per Windows Server 2008 collegamento è - http://www.microsoft.com/en-us/download/details.aspx?id=11310 –

+0

@MilanRaval Provato questo, ancora lo stesso errore –

risposta

26

Beh questo mi ha rovinato la mattina, ma cerchiamo di non permettergli di rovinare chiunque altro. Non ho potuto trovare questa informazione da nessun'altra parte. È necessario copiare alcuni file da una macchina di sviluppo con VS Pro 2012.

Come indicato da aphexddb, è necessario copiare alcuni obiettivi da nella stessa posizione sul proprio server CI.

Questo fa riferimento a un assieme denominato Microsoft.VisualStudio.ServiceModel.Core. È possibile trovare questo assembly nel GAC o nella directory IDE al numero C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE.

Copia questo al server CI ed eseguire gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll

Questo è stato sufficiente a risolvere il problema per me.

Questa non è la prima volta che ho trovato obiettivi mancanti dall'installazione di VS Express nel mio server CI. Non posso fare a meno di pensare che ci sia una specie di pacchetto che posso scaricare da qualche parte in cui tutto questo si riempie. Qualcuno sa di una cosa del genere? In caso contrario, forse dovremmo crearne uno.

+1

Il pacchetto che si desidera è: [Agents for Visual Studio 2012 Update 4] (http: // www .microsoft.com/it/us/download/details.aspx? id = 38186) o [Microsoft Build Tools 2013] (http://www.microsoft.com/en-us/download/details.aspx?id=40760 Tranne che ciò non risolve i target per i progetti di libreria WCF. –

+0

o [Agenti per Microsoft Visual Studio 2013] (http://www.microsoft.com/en-us/download/details.aspx?id=40750) Non è chiaro cosa installino questi programmi di installazione. (mi sta ancora rovinando la mattinata, ho esitato a installare la libreria usando gacutil in quanto ciò potrebbe rovinare la mattinata di domani agli amministratori di sistema) –

+0

@RobertSirre Non è chiaro dai vostri commenti: ha installato il precedente "Agenti per Microsoft Visual Studio" I pacchetti "201X" risolvono il problema? – crush

1

Utilizzato in questo stesso numero. Ha la seguente per risolvere:

  1. installato Microsoft Web Platform Installer

  2. copiato directory "C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF" dal computer portatile dev con Visual Studio 2012 per il server di build

+1

Ho provato a copiare e obiettivi WCF sul server CI e non funziona. Il programma di installazione della piattaforma Web è solo un'applicazione per recuperare altri pacchetti ma non gestisce affatto le librerie WCF o qualsiasi libreria SDK. – Maverick

+0

È necessario aggiungerlo al GAC 'gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll' – aphexddb

3

estratto this file nella cartella

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ WCF

Il nome del file è "Microsoft.VisualStudio.ServiceModel.targets"

1

Ho avuto lo stesso errore: il mio problema era che MS ha modificato il modo in cui MSBuild cerca le versioni di VS nel modello di processo di build.

Assicurarsi di utilizzare il modello di processo di generazione corretto. Se si utilizza TFS2013 e VS2013 utilizzare TfvcTemplate.12.xaml

1

Ho riscontrato questo stesso errore. Nel mio caso, il problema era che il mio progetto di Visual Studio 2008 non veniva aggiornato correttamente, probabilmente a causa del fatto che i file venivano contrassegnati come "di sola lettura" dal mio controllo sorgente.Per risolvere il problema, ho caricato la soluzione in Visual Studio 2015 con tutto il resto.

La linea specifica nel file Csproj modificata da

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\WCF\Microsoft.VisualStudio.ServiceModel.targets" /> 

Per

<Import Project="$(WcfServiceModelTargetPath)\Microsoft.VisualStudio.ServiceModel.targets" /> 
2

mi sono imbattuto in questo con Visual Studio 2017, per me la risoluzione è stato quello di modificare la mia installazione di Visual Studio includere i componenti di Windows Communication Foundation.

+0

La cosa è, idealmente, i server CI dovrebbero avere MSBuild su di esso; ma non dovrebbe richiedere Visual Studio stesso. – Richardissimo

Problemi correlati