【问题标题】:Xamarin - Could not load assembly 'PCLStorage.AbstractionsXamarin - 无法加载程序集'PCLStorage.Abstractions
【发布时间】:2016-05-17 20:31:51
【问题描述】:

将 FlurlHttp Nuget 包添加到我的 PCL 项目后,由于程序集加载错误,我的应用将不再部署到我的模拟器

加载程序集时出现错误异常:System.IO.FileNotFoundException:无法加载程序集“PCLStorage.Abstractions,版本=1.0.0.0,文化=中性,PublicKeyToken=286fe515a2c35b64”。也许它在 Mono for Android 配置文件中不存在? 文件名:'PCLStorage.Abstractions.dll' 在 Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference 参考,ReaderParameters 参数) 在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection1 assemblies, AssemblyDefinition assembly, Boolean topLevel) at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection1 程序集,AssemblyDefinition 程序集,布尔顶级) 在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 程序集,AssemblyDefinition 程序集,布尔顶级) 在 Xamarin.Android.Tasks.ResolveAssemblies.Execute() InfoSupport.AV.MobileClient.Droid C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets 1347

构建系统也报告冲突:

“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”和“mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes”之间存在冲突。 (任务编号:77) 2> "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 被选中是因为它是主要的,而 "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes" 不是。 (任务 ID:77)

“PCLStorage.Abstractions, Version=0.9.6.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64”和“PCLStorage.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64”之间存在冲突。 (任务 ID:142) 2> 选择“PCLStorage.Abstractions, Version=0.9.6.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64”是因为它是主要的,而“PCLStorage.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=286fe515a2c35b64”不是。 (TaskId: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)

【问题讨论】:

    标签: c# android xamarin nuget xamarin-forms


    【解决方案1】:

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

    我不确定为什么存在这种依赖关系。

    【讨论】:

    • 您应该始终将 NuGet 添加到所有项目。例如,PCL 存储具有特定于平台的实现,这很可能是它引发错误的原因。
    • 如果将包添加到其他项目中,问题会更加直接。就目前而言,该包仅添加到 PCL 项目中。
    猜你喜欢
    • 2016-03-17
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    相关资源
    最近更新 更多