2016-02-08 66 views
1

加入FlurlHttp NuGet包到我的PCL的项目我的应用程序将不再部署到我的模拟器由于装配加载错误Xamarin - 无法加载程序集“PCLStorage.Abstractions

错误异常后,同时加载组件: System.IO.FileNotFoundException:无法加载程序集'PCLStorage.Abstractions,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 286fe515a2c35b64'。也许它不适用于Android个人资料的Mono中? 文件名: 'PCLStorage.Abstractions.dll' 在Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference参考,ReaderParameters参数) 在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection的1 assemblies, AssemblyDefinition assembly, Boolean topLevel) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection 1组件,AssemblyDefinition组件, Boolean TopLevel) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 assemblies,AssemblyDefinition assembly,Boolean topLevel) at Xamarin.Android.Tasks.ResolveAssemblies.Execute()InfoSupport.AV.MobileClient.Droid C:\ Program文件(x86)\ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets 1347

间构建系统也报告发生冲突:

之间存在着冲突 “mscorlib程序,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089” 和“mscorlib程序,版本= 2.0.5.0,文化=中性,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes“。 (TaskId:77) 2>“mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”被选中是因为它是主要的,“mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable =是“不是。 (TaskId:77)

“PCLStorage.Abstractions,Version = 0.9.6.0,Culture = neutral,PublicKeyToken = 286fe515a2c35b64”和“PCLStorage.Abstractions,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 286fe515a2c35b64" 。 (TaskId:142) 2>“PCLStorage.Abstractions,Version = 0.9.6.0,Culture = neutral,PublicKeyToken = 286fe515a2c35b64”被选中是因为它是主要的,“PCLStorage.Abstractions,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 286fe515a2c35b64“不是。 (任务id:142)

这些错误出现后添加的Microsoft.Build.Async (1.0.168)Microsoft.Bcl.Build(1.0.21)Microsoft.Net.Http(2.2.29)Microsoft.Bcl (1.1.10)的NuGet包我 PCL项目,Xamarin形式的项目,Xamarin Droid的项目。

另外,使用Nuget包Xamarin.Forms.Maps (v2.1.0.6508)Xamarin.Forms (v2.1.0.6508-pre3)

回答

1

将nuget软件包PclStorage v1.0.2添加到PCL项目中可解决警告和部署错误。

我不知道为什么这种依赖性在那里。

+1

你应该总是添加NuGets到所有项目。例如,PCL存储具有特定于平台的实现,这很可能是它抛出错误的原因。 – JamesMontemagno

+0

如果软件包已添加到其他项目中,问题本来会更直接。目前,该软件包仅添加到PCL项目中。 – Levon