Xamarin - не удалось загрузить сборку PCLStorage.Abstractions.

После добавления пакета FlurlHttp Nuget в мой проект PCL мое приложение больше не будет развертываться на моем эмуляторе из-за ошибки загрузки сборки.

Исключительная ошибка при загрузке сборок: System.IO.FileNotFoundException: не удалось загрузить сборку «PCLStorage.Abstractions, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 286fe515a2c35b64». Возможно, его нет в профиле Mono для Android? Имя файла: 'PCLStorage.Abstractions.dll' в Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve (ссылка AssemblyNameReference, параметры ReaderParameters) в Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences (ICollection_1Default Assembly, сборки Xamarin. Android.Tasks.ResolveAssemblies.AddAssemblyReferences (сборки ICollection`1, сборка AssemblyDefinition, логическое значение topLevel) в Xamarin.Android.Tasks.ResolveAssemblies.Execute () InfoSupport.AV.MobileClient.Droid C: \ Program Files ( \ Android \ Xamarin.Android.Common.targets 1347

Система сборки также сообщает о конфликтах:

Возник конфликт между mscorlib, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089 и «mscorlib, Version = 2.0.5.0, Culture = нейтральный, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes». (TaskId: 77) 2> «mscorlib, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089» был выбран, потому что он был основным, а «mscorlib, Version = 2.0.5.0, Culture = нейтральный, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Да »не было. (TaskId: 77)

Возник конфликт между «PCLStorage.Abstractions, Version = 0.9.6.0, Culture = нейтральный, PublicKeyToken = 286fe515a2c35b64» и «PCLStorage.Abstractions, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 286fe515a2c35b64». (TaskId: 142) 2> «PCLStorage.Abstractions, Version = 0.9.6.0, Culture = нейтральный, PublicKeyToken = 286fe515a2c35b64» был выбран, потому что он был основным, а «PCLStorage.Abstractions, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 286fe515a2c35b64 "не было. (TaskId: 142)

Эти ошибки появились после добавления пакетов nuget 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).


person Levon    schedule 08.02.2016    source источник


Ответы (1)


Добавление пакета nuget PclStorage v1.0.2 в проект PCL устраняет как предупреждения, так и ошибку развертывания.

Я не уверен, почему существует эта зависимость.

person Levon    schedule 09.02.2016
comment
Вы всегда должны добавлять NuGets во ВСЕ проекты. Хранилище PCL, например, имеет реализации для конкретной платформы, что, скорее всего, является причиной ошибки. - person JamesMontemagno; 10.02.2016
comment
Проблема была бы более простой, если бы этот пакет был добавлен в другие проекты. В его нынешнем виде пакет добавляется только в проект PCL. - person Levon; 10.02.2016