2013-02-01 159 views
15

我我的CI服務器上獲取此錯誤:WCF編譯錯誤:未找到Microsoft.VisualStudio.ServiceModel.targets

錯誤MSB4019:導入項目「C:\ Program Files文件(86) \的MSBuild \微軟\ VisualStudio的\ WCF \ Microsoft.VisualStudio.ServiceModel.targets」未找到

看來我該文件的WCF服務庫項目引用,但Program Files\MSBuild\Microsoft的VisualStudio的文件夾不包含一個WCF文件夾。

我想我需要在服務器上安裝一些東西。

我需要安裝什麼?

+0

安裝microsoft windows SDK應該可行 - 對於windows server 2008鏈接是 - http://www.microsoft.com/en-us/download/details.aspx?id=11310 –

+0

@MilanRaval試過了,仍然是同樣的錯誤 –

回答

26

那麼這毀了我的早晨,但我們不要讓它毀了別人的。我無法在其他地方找到這些信息。您需要使用VS Pro 2012從開發機器複製幾個文件。

正如aphexddb所述,您需要將一些目標從C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\WCF複製到CI服務器上的相同位置。

然後引用名爲Microsoft.VisualStudio.ServiceModel.Core的程序集。您可以在GAC中找到該程序集,也可以在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE的IDE目錄中找到該程序集。

拷貝到你的CI服務器,並執行gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll

這足以幫我。

這不是我第一次在我的CI服務器中找到從我的VS express安裝中丟失的目標。我不禁感到,我可以從某個地方下載某種包裝,這些包裝可以滿足所有這些需求。有誰知道這樣的事情嗎?如果沒有,也許我們應該創建一個。

+1

您正在查找的軟件包將是:[Visual Studio 2012 Update 4代理](http:// www .microsoft.com/zh-cn/download/details.aspx?id = 38186)或[Microsoft Build Tools 2013](http://www.microsoft.com/zh-CN/download/details.aspx?id=40760 ) 除此之外,這不會修復WCF庫項目的目標。 –

+0

或[Microsoft Visual Studio 2013代理](http://www.microsoft.com/en-us/download/details.aspx?id=40750) 這些安裝程序的安裝很不清楚。 (它還在毀了我的早晨;我不願意使用gacutil來安裝這個庫,因爲這可能會毀了一個系統管理員的同事早上) –

+0

@RobertSirre您的意見不清楚:是否安裝了上述「Agents for Microsoft Visual Studio 201X「套餐糾正了這個問題? – crush

1

跑進這個相同的問題。做了以下解決:

  1. 安裝了Microsoft Web Platform Installer

  2. 複製的目錄 「C:\ Program Files文件(x86)的\的MSBuild \微軟\ VisualStudio的\ WCF」 從開發的筆記本電腦與Visual Studio 2012構建服務器

+1

我曾嘗試將複製和WCF目標複製到CI服務器,但不起作用。 Web平臺安裝程序只是一個檢索其他包的應用程序,但根本不處理WCF庫或任何SDK庫。 – Maverick

+0

您需要將其添加到GAC'gacutil.exe -i Microsoft.VisualStudio.ServiceModel.Core.dll' – aphexddb

3

提取this文件夾到

C:\ Program Files文件(x86)的\的MSBuild \微軟\ VisualStudio的\ WCF

的文件名是 「Microsoft.VisualStudio.ServiceModel.targets」

1

我有同樣的錯誤 - 我的問題是MS修改了MSBuild在構建過程模板中查找VS版本的方式。

確保使用正確的構建過程模板。 如果使用TFS2013和VS2013使用TfvcTemplate.12.xaml

1

我遇到了同樣的錯誤。在我的情況下,問題是我的Visual Studio 2008項目沒有正確升級,可能是由於我的源代碼控制文件被標記爲「只讀」。爲了解決這個問題,我在Visual Studio 2015中加載瞭解決方案,並檢出了所有內容。

中的.csproj文件中的特定行從

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

改變要

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

我就遇到了這個與Visual Studio 2017年,對我來說,分辨率爲修改我安裝的Visual Studio包括Windows Communication Foundation組件。

+0

事情是,理想情況下,CI服務器應該有它的MSBuild;但不應該需要Visual Studio本身。 – Richardissimo