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

相关问题