2013-12-11 84 views
16

我最近在構建服務器中構建的應用程序中添加了一些自定義的可移植類庫項目。構建工作正常,但之後,它停止工作,讓我看到以下消息:在構建服務器中構建可移植類庫項目失敗

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(983, 5 ):警告MSB3644:未找到框架 「.NETPortable,Version = v4.0,Profile = Profile136」的引用程序集。

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(1578, 5):警告MSB3270:有正在建造的項目的處理器架構 之間的不匹配「MSIL 「和處理器 架構的參考文件 」C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ mscorlib.dll「, 」AMD64「。

錯誤CS0234:

    :類型或命名空間名稱「Linq的」不中 命名空間「系統」(?是否缺少程序集引用)

構建服務器規格存在

  • 的Windows Server 2008 R2標準
  • 的TeamCity 8.0.4
  • .NET 4.5
  • Portable Class Library Tools(如建議here
  • Silverlight 5 SDK
  • 的解決方案是一個.NET 4.0應用和便攜式項目針對.NET4.0 + E的Silverlight 5中,只。 portable targets

    我檢查了我的開發機器(Windows 8,Visual Studio 2012)。確實有一個文件夾「C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.0 \ Profile \ Profile136」(事實上,.NET 4.0的配置文件最高可達158)。 但是,在構建機器中,只有文件夾的配置文件最多爲131個。

    便攜式類庫工具是否是最新的?它似乎錯過了安裝最新平臺的配置文件。

    UPDATE

    我複製了」 .NETPortable \ V4.0 \資料\ Profile136" 我的開發機來構建服務器,現在的應用程序成功生成。我仍然想知道爲什麼安裝Portable Class Library Tools無法正常工作。

    回答

    14

    一個更通用和優雅的解決方案是安裝最新的Microsoft .NET Portable Library Reference Assemblies。這將安裝profile138等等。

    • 4.6 (June 2014)

      獨立安裝程序(一個或多個),可以發現

    +0

    是的,我看到微軟已經發布了PCL組件的更新安裝程序。這正是我所需要的,但是當我建立我的製造機器時,它卻不可用。 –

    +0

    我們如何找到最新版本的PCL?微軟是否有一個頁面,我們可以在構建服務器上找到可安裝的最新PCL? – kape123

    +0

    @ kape123我想這是最新的版本......你是否遇到過任何特定的問題? –

    3

    Profile136附帶了作爲Phone SDK 8.0(或更高版本VS VS 2012的更新版本)一部分的便攜庫定位包版本。您使用的定位包版本較舊。

    +0

    我的開發機具有VS 2012 Update 3及構建應用程序的罰款。正如我所說,我的開發機器提供了比便攜式類庫工具安裝的更便攜的配置文件。所以看起來我的應用使用的定位包比可用的可移植類庫工具更新。 –

    4

    在安裝Portable Class Library Tools後,從開發機器複製到生成服務器所需的配置文件(它在錯誤消息中是顯式的),允許我的生成工作。

    顯然,現在的便攜式類庫並不包含最新的便攜式配置文件。

    如果有人知道在構建服務器上獲取可移植配置文件的更新方法,除了安裝VS或手動複製它們之外,我真的很想知道。

    UPDATE

    路徑,我的開發機器上的文件夾被複制到服務器計算機(服務器的路徑是一樣的):

    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETPortable\v4.0\Profile\Profile136 
    
    +0

    如果您知道我們如何手動複製它們,請通知我們 –

    +0

    @RaduSimionescu,查看更新後的答案。只需複製整個文件夾,安裝便攜式類庫後工具 –

    +0

    我的問題是複製Xamarin安裝在Mac上的配置文件 - 我找不到它們。無論如何,我解決了它,並用我的解決方案發布了答案。感謝您的更新 –