2015-09-28 95 views
7

在試圖運行一個測試應用程序,我得到以下錯誤兩次:處理器架構不匹配的建築誤差

有該項目正在建設「MSIL」的處理器架構和的處理器架構之間的不匹配參考「C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ mscorlib.dll」,「x86」。

這種不匹配可能會導致運行時失敗。請考慮通過Configuration Manager更改項目的目標處理器體系結構,以便在項目和引用之間調整處理器體系結構,或者使用與項目的目標處理器體系結構相匹配的處理器體系結構來依賴引用。 TestMobile.Core 不匹配MSIL 86

我已經安裝了.NET Framework,以及Windows 8 SDK工具和使用MultilingualAppToolKit。

我已經驗證過配置管理器,一切似乎都很好。平臺目標,針對「任何CPU」

+0

你使用什麼樣的項目模板?可能是我可以重現的問題。 – SHM

+0

嗨!我正在使用一個PCL的核心和一個空白的應用程序的Android。 – Pedro

回答

7

當初安裝Visual Studio 2015年後,這個問題更新2.試試這個,第一個解決我的問題:

安裝攜帶類庫V4.6

  1. 下載安裝Portable Class Libraries v4.6。如果你安裝了這一點,把一個.zip文件到目錄: "C:\Program Files (x86)\Microsoft .NET Portable Library Reference Assemblies 4.6"
  2. 拆封內容複製到"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\"

安裝PCL工具

  1. 下載Portable Class Library Tools
  2. 通過運行安裝PortableLibraryTools.exe /buildmachine

來源:馬特華rd @https://forums.xamarin.com/discussion/comment/80535/#Comment_80535

8

通過我現有版本的.NET Portable Library Reference Assemblies進行復制解決了我的問題。

我遇到這個問題打補丁到Visual Studio 2015年更新3後,讀vvolkgang反應,而最初打折,因爲我已經內C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable有文件夾,這些文件夾的日期都晚於那些包含在基準組件內存檔我已經下載了。我應該做的是檢查文件夾層次結構的右側部分。看看你的項目文件;在我的情況我有以下設置:

<TargetFrameworkProfile>Profile49</TargetFrameworkProfile> 
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 

如果這些是你的設置,你需要檢查的C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49內容。如果您使用其他配置文件或定位到不同版本的框架,請相應地調整路徑。當我檢查該文件夾時,我發現我有很多XML文件但沒有DLL;從複製文件Microsoft .NET Portable Library Reference Assemblies 4.6並選擇不替換已存在的任何文件修復了我的構建問題。

+0

確實這個文件夾在我的電腦上已經空了,可能是因爲我的系統崩潰了。我從其他計算機復​​制文件,而不是再次編譯 - 非常感謝! – Sam

+0

太棒了,謝謝!我將csproj文件中的配置文件更改爲最高編號,並解決了問題。 – Mobigital

0

如果您在構建服務器上並獲取此錯誤/警告,只需安裝MSBuild 17及其可選安裝,其中包含所有SDK和便攜式庫。