2017-04-24 154 views
15

我有一個基於MvvmCross的Xamarin項目。該項目用於IOS和Android.I在Visual Studio 15中打開了此項目。我收到了一些我很快解決的錯誤。有一些卡住的錯誤,即使在google和stackoverflow上搜索後,我也無法解決它們。我嘗試了每一個在stackoverflow上找到的方法,但仍然存在所有的錯誤。 這個項目正在使用第三方庫,如RestSharp和BoxApi.V2(更多)「ResolveLibraryProjectImports」任務意外失敗

我在下面發佈我的錯誤日誌。

嚴重級代碼說明項目文件行抑制狀態 錯誤「ResolveLibraryProjectImports」任務意外失敗。 System.IO.FileNotFoundException:無法加載程序集'RestSharp(Android),版本= 0.0.0.0,Culture = neutral,PublicKeyToken ='。也許它不適用於Android個人資料的Mono中? 文件名稱:'RestSharp(Android).dll' at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference,ReaderParameters parameters) at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName,ReaderParameters參數) 在Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(字符串全名) 在Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(字符串文件名) 在Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver RES ,ICollection 1 jars, ICollection 1 resolvedresourceDirectories,ICollection 1 resolvedAssetDirectories, ICollection 1 resolvedEnvironments) at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute() at Micr osoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()BoxApi.V2(機器人)

此錯誤是重複對於這個解決方案中包含的所有項目。所以我多次得到這個錯誤。

我也想補充說,該項目以前建立在MAC和我使用的Windows,這是否使一些兼容性或跨操作系統的問題? 我已檢查所有組件參考,所有工作正常。

+0

你安裝了什麼版本的Xamarin for Visual Studio,Xamarin.Android和Android SDK? –

+0

xamarin是最新的版本,我已經下載了所有的SDK版本 –

+0

你也許可以嘗試卸載並安裝受影響的nuget軟件包,在這個可以RestSharp – Plac3Hold3r

回答

25

我在字面上只是在Visual Studio 2017中有一個全新的Xamarin.Forms應用程序。

根本原因似乎是我讓VS2017在它的默認位置'C:\ Users \ Dave \ Documents \ Visual Studio 2017 \ Projects'中創建項目,並且這導致多個文件中的一個具有路徑這太長了。

我搬到了解決我的d盤的根和它建立沒有任何問題。

+0

高興地看到你的代碼工作正常 –

+0

爲我工作:) –

+1

你應該獲得此解決方案的諾貝爾獎!謝謝。 –

5

您的問題最有可能與Xamarin論壇上的this帖子以及this bugzilla條目相關聯。如果沒有一個重複的樣品,我可以建議你嘗試是:

  • 更新Xamarin的Visual Studio,Xamarin.Android和Xamarin.iOS 到最新的穩定版本
  • 清洗和重建
  • 刪除所有從項目目錄binobj文件夾
  • 重新啓動Visual Studio中/你的PC

所有失敗的塔如果沒有可複製的樣本和可能的Xamarin日誌,就不可能有人能夠幫助你。

+0

我已經試過這個,但我會再試一次,如果它的工作,我會接受這個答案 –

+1

這似乎不正確... – aegbert

0

這可能是一個問題,您的引用/引用程序?

如果你看看下在Solution Explorer中的每個項目的引用文件夾中,任何引用的是Visual Studio中無法找到,刪除並重新添加它們(右鍵單擊參考文件夾添加)。

0

當你創建一個新項目的Visual Studio用C創建它,我面臨這個問題上其實是一個很簡單的事情千百次:驅動器在默認所有你需要做的就是出來將你的項目在其他一些雲端硬盤文件夾像D :, E:無論是隻是確保它保存在你的驅動器的根目錄,即如果你將它移動到D:然後像這樣放置它D/Project/solutionFile

0

答案很簡單:

  1. 移動包含您的解決方案的桌面

OR

  1. 刪除引用的困擾庫(參考文獻部分)
  2. 目錄關閉Visual Studio
  3. 在Windows資源管理器中轉到到您的應用程序的項目目錄(您的「Projectname」.sln文件所在的位置)。
  4. 取消隱藏隱藏項目(查看標籤;查看隱藏項目)
  5. 刪除「vs」隱藏文件夾,並且如果有一個名爲「sou」的文件也將其刪除。
  6. 重新啓動Visual Studio和啓動您的解決方案

我面臨着同樣的解決方案OP。這是OP所遇到的錯誤的解決方案。我已經解決了下面其他人可能出現的其他錯誤原因。

說明: 通常有兩種不同類型的可能出現的問題。第一個包含的項目文件太長,導致System.IO.reader出現錯誤,包括「file.path太長」行中的一些文本。

錯誤的第二個原因是由於VS形成DLL的正確名稱,但該項目的資源不正確的路徑。一個例子可能是VS使用「App1 \ bin \ Debug \ net452 \ temp.dll」而不是「App1 \ bin \ Debug \ net1.6 \ temp.dll」。

1

有同樣的問題。這裏是我的解決方案

  1. 重新啓動Visual Studio
  2. 打開項目
  3. 清潔液
  4. 重新生成解決方案
  5. 關閉解決方案
  6. 重新打開該項目
0

這裏問題: System.IO.PathTooLongException:s特定路徑,文件名或這兩者太長。完全限定的文件名必須少於260個字符,且目錄名稱必須少於248個字符。

嘗試移動你的項目到另一個位置,如「C:/」,或更改項目名稱的東西更簡單

0

這發生在我身上時,我無意中在一個類庫,它是安裝的NuGet包包括在解決方案中。我只需要從類庫項目中卸載軟件包。

相關問題