1

我爲我的Simple.OData.Client構建了一個NuGet包,支持Xamarin Android和iOS。這個庫使用Microsoft.Bcl.Async。使用Android和iOS模擬器測試就OK,但是當我安裝這個新的NuGet包到另一個項目,它無法編譯的Droid /觸摸項目的以下信息:Xamarin Mono項目中的Microsoft.Threading.Tasks.Extensions

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(720,2): error : Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile? 
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(720,2): error : File name: 'Microsoft.Threading.Tasks.Extensions.dll' 

當然沒有Microsoft.Bcl。另一方面,由於庫測試在這些平臺上傳遞,所以我認爲這對於使Visual Studio感到開心而不是做一些代碼修改更具挑戰性。

有沒有人設法使用Mono PCLs依賴於Microsoft.Bcl.Async?

回答

0

我相信我發現了這個問題。

早些時候,我曾在Simple.OData.Client nuspec文件中的以下行:

<file src="Simple.OData.Client.Core\bin\Release\Microsoft.Threading.Tasks.Extensions.dll" target="lib\portable-net403+win8+sl5+wp8+MonoAndroid16+MonoTouch40\Microsoft.Threading.Tasks.Extensions.dll" /> 

這是不應該的,因爲Microsoft.Bcl.Async應該採取複製Tasks.Extensions.dll的護理。我向微軟報告了這種情況,並預計這將在Microsoft.Bcl.Async的RTM版本中得到修復。顯然它不是,所以所有NuGet軟件包依賴於Microsoft.Bcl.Async仍應複製此文件。然後它會工作。

1

對於那些跌進此問題的NuGet獲取Simple.oData.Client時,剛剛從安裝的NuGet以下軟件包:

微軟的Bcl異步便攜式 微軟的Bcl異步

+0

謝謝,我剛剛收到了關於此的一個錯誤報告。將嘗試檢查出來。 – 2014-04-04 10:11:05

相關問題